fs

Built-in library for filesystem access

Example usage

local fs = require("@lune/fs")

-- Reading a file
local myTextFile: string = fs.readFile("myFileName.txt")

-- Reading entries (files & dirs) in a directory
for _, entryName in fs.readDir("myDirName") do
    if fs.isFile("myDirName/" .. entryName) then
        print("Found file " .. entryName)
    elseif if fs.isDir("myDirName/" .. entryName) then
        print("Found subdirectory " .. entryName)
    end
end

Functions

isDir

function FS.isDir(path: string)

Checks if a given path is a directory.

An error will be thrown in the following situations:

  • The current process lacks permissions to read at path.

  • Some other I/O error occurred.

isFile

function FS.isFile(path: string)

Checks if a given path is a file.

An error will be thrown in the following situations:

  • The current process lacks permissions to read at path.

  • Some other I/O error occurred.

move

function FS.move(from: string, to: string, overwriteOrOptions: (boolean | WriteOptions)?)

Moves a file or directory to a new path.

Throws an error if a file or directory already exists at the target path. This can be bypassed by passing true as the third argument, or a dictionary of options. Refer to the documentation for WriteOptions for specific option keys and their values.

An error will be thrown in the following situations:

  • The current process lacks permissions to read at from or write at to.

  • The new path exists on a different mount point.

  • Some other I/O error occurred.

readDir

function FS.readDir(path: string)

Reads entries in a directory at path.

An error will be thrown in the following situations:

  • path does not point to an existing directory.

  • The current process lacks permissions to read the contents of the directory.

  • Some other I/O error occurred.

readFile

function FS.readFile(path: string)

Reads a file at path.

An error will be thrown in the following situations:

  • path does not point to an existing file.

  • The current process lacks permissions to read the file.

  • The contents of the file cannot be read as a UTF-8 string.

  • Some other I/O error occurred.

removeDir

function FS.removeDir(path: string)

Removes a directory and all of its contents.

An error will be thrown in the following situations:

  • path is not an existing and empty directory.

  • The current process lacks permissions to remove the directory.

  • Some other I/O error occurred.

removeFile

function FS.removeFile(path: string)

Removes a file.

An error will be thrown in the following situations:

  • path does not point to an existing file.

  • The current process lacks permissions to remove the file.

  • Some other I/O error occurred.

writeDir

function FS.writeDir(path: string)

Creates a directory and its parent directories if they are missing.

An error will be thrown in the following situations:

  • path already points to an existing file or directory.

  • The current process lacks permissions to create the directory or its missing parents.

  • Some other I/O error occurred.

writeFile

function FS.writeFile(path: string, contents: string)

Writes to a file at path.

An error will be thrown in the following situations:

  • The file's parent directory does not exist.

  • The current process lacks permissions to write to the file.

  • Some other I/O error occurred.


Types

WriteOptions

type WriteOptions = {
	overwrite: boolean?,
}

Options for filesystem APIs what write to files and/or directories.

This is a dictionary that may contain one or more of the following values:

  • overwrite - If the target path should be overwritten or not, in the case that it already exists

Last updated