Contains a broad set of operations for manipulating files on the file system.

A (potential) blocking and non blocking version of each operation is provided.

The non blocking versions take a handler which is called when the operation completes or an error occurs.

The blocking versions are named `xxxBlocking` and return the results, or throw exceptions directly. In many cases, depending on the operating system and file system some of the potentially blocking operations can return quickly, which is why we provide them, but it's highly recommended that you test how long they take to return in your particular application before using them on an event loop.

Please consult the documentation for more information on file system support.

- `Anything`
  - `Object`
    - `Basic` ...and other supertypes
      - `FileSystem`

- `FileSystem`
  - `Basic`
    - `Identifiable`
    - `Object`
      - `Anything`

no subtypes hierarchy

Initializer
`FileSystem(FileSystem unknown)`

Inherited Attributes
Attributes inherited from: `Object` `hash`, `string`

Methods
`chmod` | `shared default FileSystem chmod(String path, String perms, Anything(Throwable?) handler)` Change the permissions on the file represented by `path` to `perms`, asynchronously. The permission String takes the form rwxr-x— as specified here. Parameters: `path` the path to the file `perms` the permissions string `handler` the handler that will be called on completion
`chmodBlocking` | `shared default FileSystem chmodBlocking(String path, String perms)` Blocking version of #chmod(String, String, Handler)
`chmodRecursive` | `shared default FileSystem chmodRecursive(String path, String perms, String dirPerms, Anything(Throwable?) handler)` Change the permissions on the file represented by `path` to `perms`, asynchronously. The permission String takes the form rwxr-x— as specified in {here}. If the file is directory then all contents will also have their permissions changed recursively. Any directory permissions will be set to `dirPerms`, whilst any normal file permissions will be set to `perms`. Parameters: `path` the path to the file `perms` the permissions string `dirPerms` the directory permissions `handler` the handler that will be called on completion
`chmodRecursiveBlocking` | `shared default FileSystem chmodRecursiveBlocking(String path, String perms, String dirPerms)` Blocking version of chmodRecursive
`chown` | `shared default FileSystem chown(String path, String? user, String? group, Anything(Throwable?) handler)` Change the ownership on the file represented by `path` to `user` and {code group}, asynchronously. Parameters: `path` the path to the file `user` the user name, `null` will not change the user name `group` the user group, `null` will not change the user group name `handler` the handler that will be called on completion
`chownBlocking` | `shared default FileSystem chownBlocking(String path, String? user, String? group)` Blocking version of
`copy` | `shared default FileSystem copy(String from, String to, Anything(Throwable?) handler)` Copy a file from the path `from` to path `to`, asynchronously. The copy will fail if the destination already exists. Parameters: `from` the path to copy from `to` the path to copy to `handler` the handler that will be called on completion
`copyBlocking` | `shared default FileSystem copyBlocking(String from, String to)` Blocking version of copy
`copyRecursive` | `shared default FileSystem copyRecursive(String from, String to, Boolean recursive, Anything(Throwable?) handler)` Copy a file from the path `from` to path `to`, asynchronously. If `recursive` is `true` and `from` represents a directory, then the directory and its contents will be copied recursively to the destination `to`. The copy will fail if the destination if the destination already exists. Parameters: `from` the path to copy from `to` the path to copy to `handler` the handler that will be called on completion
`copyRecursiveBlocking` | `shared default FileSystem copyRecursiveBlocking(String from, String to, Boolean recursive)` Blocking version of copyRecursive
`createFile` | `shared default FileSystem createFile(String path, Anything(Throwable?) handler)` Creates an empty file with the specified `path`, asynchronously. Parameters: `path` path to the file `handler` the handler that will be called on completion
`createFile` | `shared default FileSystem createFile(String path, String perms, Anything(Throwable?) handler)` Creates an empty file with the specified `path` and permissions `perms`, asynchronously. Parameters: `path` path to the file `perms` the permissions string `handler` the handler that will be called on completion
`createFileBlocking` | `shared default FileSystem createFileBlocking(String path)` Blocking version of createFile
`createFileBlocking` | `shared default FileSystem createFileBlocking(String path, String perms)` Blocking version of createFile
`delete` | `shared default FileSystem delete(String path, Anything(Throwable?) handler)` Deletes the file represented by the specified `path`, asynchronously. Parameters: `path` path to the file `handler` the handler that will be called on completion
`deleteBlocking` | `shared default FileSystem deleteBlocking(String path)` Blocking version of delete
`deleteRecursive` | `shared default FileSystem deleteRecursive(String path, Boolean recursive, Anything(Throwable?) handler)` Deletes the file represented by the specified `path`, asynchronously. If the path represents a directory and `recursive = true` then the directory and its contents will be deleted recursively. Parameters: `path` path to the file `recursive` delete recursively? `handler` the handler that will be called on completion
`deleteRecursiveBlocking` | `shared default FileSystem deleteRecursiveBlocking(String path, Boolean recursive)` Blocking version of deleteRecursive
`exists` | `shared default FileSystem exists(String path, Anything(Throwable|Boolean) handler)` Determines whether the file as specified by the path `path` exists, asynchronously. Parameters: `path` path to the file `handler` the handler that will be called on completion
`existsBlocking` | `shared default Boolean existsBlocking(String path)` Blocking version of exists
`fsProps` | `shared default FileSystem fsProps(String path, Anything(Throwable|FileSystemProps) handler)` Returns properties of the file-system being used by the specified `path`, asynchronously. Parameters: `path` path to anywhere on the filesystem `handler` the handler that will be called on completion
`fsPropsBlocking` | `shared default FileSystemProps fsPropsBlocking(String path)` Blocking version of fsProps
`link` | `shared default FileSystem link(String link, String existing, Anything(Throwable?) handler)` Create a hard link on the file system from `link` to `existing`, asynchronously. Parameters: `link` the link `existing` the link destination `handler` the handler that will be called on completion
`linkBlocking` | `shared default FileSystem linkBlocking(String link, String existing)` Blocking version of link
`lprops` | `shared default FileSystem lprops(String path, Anything(Throwable|FileProps) handler)` Obtain properties for the link represented by `path`, asynchronously. The link will not be followed. Parameters: `path` the path to the file `handler` the handler that will be called on completion
`lpropsBlocking` | `shared default FileProps lpropsBlocking(String path)` Blocking version of lprops
`mkdir` | `shared default FileSystem mkdir(String path, Anything(Throwable?) handler)` Create the directory represented by `path`, asynchronously. The operation will fail if the directory already exists. Parameters: `path` path to the file `handler` the handler that will be called on completion
`mkdir` | `shared default FileSystem mkdir(String path, String perms, Anything(Throwable?) handler)` Create the directory represented by `path`, asynchronously. The new directory will be created with permissions as specified by `perms`. The permission String takes the form rwxr-x— as specified in here. The operation will fail if the directory already exists. Parameters: `path` path to the file `perms` the permissions string `handler` the handler that will be called on completion
`mkdirBlocking` | `shared default FileSystem mkdirBlocking(String path)` Blocking version of mkdir
`mkdirBlocking` | `shared default FileSystem mkdirBlocking(String path, String perms)` Blocking version of mkdir
`mkdirs` | `shared default FileSystem mkdirs(String path, Anything(Throwable?) handler)` Create the directory represented by `path` and any non existent parents, asynchronously. The operation will fail if the directory already exists. Parameters: `path` path to the file `handler` the handler that will be called on completion
`mkdirs` | `shared default FileSystem mkdirs(String path, String perms, Anything(Throwable?) handler)` Create the directory represented by `path` and any non existent parents, asynchronously. The new directory will be created with permissions as specified by `perms`. The permission String takes the form rwxr-x— as specified in here. The operation will fail if the directory already exists. Parameters: `path` path to the file `perms` the permissions string `handler` the handler that will be called on completion
`mkdirsBlocking` | `shared default FileSystem mkdirsBlocking(String path)` Blocking version of mkdirs
`mkdirsBlocking` | `shared default FileSystem mkdirsBlocking(String path, String perms)` Blocking version of mkdirs
`move` | `shared default FileSystem move(String from, String to, Anything(Throwable?) handler)` Move a file from the path `from` to path `to`, asynchronously. The move will fail if the destination already exists. Parameters: `from` the path to copy from `to` the path to copy to `handler` the handler that will be called on completion
`moveBlocking` | `shared default FileSystem moveBlocking(String from, String to)` Blocking version of move
`open` | `shared default FileSystem open(String path, OpenOptions options, Anything(Throwable|AsyncFile) handler)` Open the file represented by `path`, asynchronously. The file is opened for both reading and writing. If the file does not already exist it will be created. Parameters: `path` path to the file `options` options describing how the file should be opened
`openBlocking` | `shared default AsyncFile openBlocking(String path, OpenOptions options)` Blocking version of open
`props` | `shared default FileSystem props(String path, Anything(Throwable|FileProps) handler)` Obtain properties for the file represented by `path`, asynchronously. If the file is a link, the link will be followed. Parameters: `path` the path to the file `handler` the handler that will be called on completion
`propsBlocking` | `shared default FileProps propsBlocking(String path)` Blocking version of props
`readDir` | `shared default FileSystem readDir(String path, Anything(Throwable|List<String>) handler)` Read the contents of the directory specified by `path`, asynchronously. The result is an array of String representing the paths of the files inside the directory. Parameters: `path` path to the file `handler` the handler that will be called on completion
`readDir` | `shared default FileSystem readDir(String path, String filter, Anything(Throwable|List<String>) handler)` Read the contents of the directory specified by `path`, asynchronously. The parameter `filter` is a regular expression. If `filter` is specified then only the paths that match @{filter}will be returned. The result is an array of String representing the paths of the files inside the directory. Parameters: `path` path to the directory `filter` the filter expression `handler` the handler that will be called on completion
`readDirBlocking` | `shared default List<String> readDirBlocking(String path)` Blocking version of readDir
`readDirBlocking` | `shared default List<String> readDirBlocking(String path, String filter)` Blocking version of readDir
`readFile` | `shared default FileSystem readFile(String path, Anything(Throwable|Buffer) handler)` Reads the entire file as represented by the path `path` as a , asynchronously. Do not user this method to read very large files or you risk running out of available RAM. Parameters: `path` path to the file `handler` the handler that will be called on completion
`readFileBlocking` | `shared default Buffer readFileBlocking(String path)` Blocking version of readFile
`readSymlink` | `shared default FileSystem readSymlink(String link, Anything(Throwable|String) handler)` Returns the path representing the file that the symbolic link specified by `link` points to, asynchronously. Parameters: `link` the link `handler` the handler that will be called on completion
`readSymlinkBlocking` | `shared default String readSymlinkBlocking(String link)` Blocking version of readSymlink
`symlink` | `shared default FileSystem symlink(String link, String existing, Anything(Throwable?) handler)` Create a symbolic link on the file system from `link` to `existing`, asynchronously. Parameters: `link` the link `existing` the link destination `handler` the handler that will be called on completion
`symlinkBlocking` | `shared default FileSystem symlinkBlocking(String link, String existing)` Blocking version of link
`truncate` | `shared default FileSystem truncate(String path, Integer len, Anything(Throwable?) handler)` Truncate the file represented by `path` to length `len` in bytes, asynchronously. The operation will fail if the file does not exist or `len` is less than `zero`. Parameters: `path` the path to the file `len` the length to truncate it to `handler` the handler that will be called on completion
`truncateBlocking` | `shared default FileSystem truncateBlocking(String path, Integer len)` Blocking version of truncate
`unlink` | `shared default FileSystem unlink(String link, Anything(Throwable?) handler)` Unlinks the link on the file system represented by the path `link`, asynchronously. Parameters: `link` the link `handler` the handler that will be called on completion
`unlinkBlocking` | `shared default FileSystem unlinkBlocking(String link)` Blocking version of unlink
`writeFile` | `shared default FileSystem writeFile(String path, Buffer data, Anything(Throwable?) handler)` Creates the file, and writes the specified `Buffer data` to the file represented by the path `path`, asynchronously. Parameters: `path` path to the file `handler` the handler that will be called on completion
`writeFileBlocking` | `shared default FileSystem writeFileBlocking(String path, Buffer data)` Blocking version of writeFile

Inherited Methods
Methods inherited from: `Object` `equals`