fs (File System)
The fs namespace contains functions that are used for working with file system operations. Lua does contain some basic file I/O functionality, but this namespace includes a handful of additional functions that make up for where Lua is lacking.
Functions exposed by this namespace are accessed via the prefix: hook.fs.
Functions
create_directory, create_dir
Creates the given directory. Any folder within the given path that do not exist will also be created.
1boolean hook.fs.create_directory(path);
2boolean hook.fs.create_dir(path);
| Parameter Name | Type | Description |
|---|
path | string | The name, or path, of the folder to create. |
| Returns |
|---|
| (boolean) True on success, false otherwise. |
current_directory, current_dir
Returns, or sets, the current directory.
1string hook.fs.current_directory();
2string hook.fs.current_dir();
3
4boolean hook.fs.current_directory(path);
5boolean hook.fs.current_dir(path);
| Parameter Name | Type | Description |
|---|
path | string | [Optional] The path to set the current directory to, if setting. |
| Returns |
|---|
| get: (string) The current directory path. |
| set: (boolean) True on success, false otherwise. |
equivalent, equals
Returns if two paths are the equal.
1boolean hook.fs.equivalent(path1, path2);
2boolean hook.fs.equals(path1, path2);
| Parameter Name | Type | Description |
|---|
path1 | string | The first path to compare. |
path2 | string | The second path to compare. |
| Returns |
|---|
| (boolean) True if the paths are equal, false otherwise. |
exists
Returns if the given path exists. Can be a file or folder path.
1boolean hook.fs.exists(path);
| Parameter Name | Type | Description |
|---|
path | string | The path to check. |
| Returns |
|---|
| (boolean) True if the path exists, false otherwise. |
get_directory, get_dir
Returns the contents of the given directory.
1table|nil hook.fs.get_directory(path);
2table|nil hook.fs.get_dir(path);
| Parameter Name | Type | Description |
|---|
path | string | The path to obtain the contents of. |
mask | string | [Optional] The filter mask to apply when returning files. |
subs | boolean | [Optional] Flag that states if sub folders should be included. |
| Returns |
|---|
| (table | nil) Table of the directory contents on success, nil otherwise. |
normalize
Returns the normalized path.
1string|nil hook.fs.normalize(path);
| Parameter Name | Type | Description |
|---|
path | string | The path to normalize. |
| Returns |
|---|
| (string | nil) The normalized path on success, nil otherwise. |
remove
Removes, or deletes, the given path. Can be a file or folder path.
1boolean hook.fs.remove(path);
| Parameter Name | Type | Description |
|---|
path | string | The path to remove. |
| Returns |
|---|
| (boolean) True on success, false otherwise. |
rename
Renames the file or folder.
1boolean hook.fs.rename(path);
| Parameter Name | Type | Description |
|---|
path | string | The path to rename. |
| Returns |
|---|
| (boolean) True on success, false otherwise. |
size
Returns the size of the given path. Can be a file or folder.
1number hook.fs.size(path);
| Parameter Name | Type | Description |
|---|
path | string | The path to obtain the size of. |
| Returns |
|---|
| (number) The size on success, 0 otherwise. |
space
Returns the space of the given path. Can be a file or folder.
1table|nil hook.fs.space(path);
| Parameter Name | Type | Description |
|---|
path | string | The path to obtain the space of. |
| Returns |
|---|
| (table | nil) Table containing the space information on success, nil otherwise. |
The returned table contains the following properties:
available (number) - The total size of the file system. (in bytes)capacity (number) - The free space of the file system. (in bytes)free (number) - The free space of the file system, to a non-privileged process. (in bytes)
status
Returns the status of the given path. Can be a file or folder.
1table|nil hook.fs.status(path);
| Parameter Name | Type | Description |
|---|
path | string | The path to obtain the status of. |
| Returns |
|---|
| (table | nil) Table containing the status information on success, nil otherwise. |
The returned table contains the following properties:
permissions (number) - The file or folder permissions.exists (boolean) - Flag that states if the path exists.is_regular_file (boolean) - Flag that states if the path is a regular file.is_directory (boolean) - Flag that states if the path is a directory.is_block_file (boolean) - Flag that states if the path is a block file.is_character_file (boolean) - Flag that states if the path is a character file.is_fifo (boolean) - Flag that states if the path is a FIFO file.is_socket (boolean) - Flag that states if the path is a socket.is_symlink (boolean) - Flag that states if the path is a symbolic link.
Properties
preferred_separator
Contains the preferred slash character for paths.
1local sep = hook.fs.preferred_separator;
2print(sep); -- Prints \