Computer.Filesystem
Allows you to create and manage an in-memory directory and file structure similar to a UNIX filesystem.
Supports file creation, deletion, renaming, reading/writing, path resolution, and optional encryption.
Functions
getRawContents
Filesystem:getRawContents()
Gets the raw contents table of the filesystem.
Returns:
- [ table ] The directory tree.
setCurrentPath
Filesystem:setCurrentPath(path)
Sets the current working directory.
Parameters:
- path [ string ] The new path.
getCurrentPath
Filesystem:getCurrentPath()
Gets the current working directory.
Returns:
- [ string ] The current path.
resetCurrentPath
Filesystem:resetCurrentPath()
Resets the working directory to /.
list
Filesystem:list( path )
Lists directories and files within a folder.
Parameters:
- path [ string ] The directory to inspect.
Returns:
- [ table<string, "directory"|"file"> ] A list of entries in alphabetical order.
readFile
Filesystem:readFile( path )
Reads the contents of a file.
Parameters:
- path [string ] The file to read.
Returns:
- [ string ] File contents.
createFile
Filesystem:createFile( path, content )
Creates a new file with encoded content.
Parameters:
- path [ string ] Destination path.
- content [ string ] File contents.
createDirectory
Filesystem:createDirectory( path )
Creates a new directory at the given path.
Parameters:
- path [ string ] The path to create the directory
delete
Filesystem:delete( path )
Deletes a file or directory.
Parameters:
- path [ string ] The file or directory to delete
rename
'Filesystem:rename(oldPath, newPath)'
Renames or moves a file/directory.
Parameters:
- oldPath [ string ] The old path.
- newPath [ string ] The new path.
exists
Filesystem:exists( path )
Checks whether a path exists.
Parameters:
- path [ string ] The path to check
Returns:
- [ boolean ] Wether the file/directory exists or not
isDirectory
Filesystem:isDirectory( path )
Checks if a path refers to a directory.
Parameters:
- path [ string ] The path to check
Returns:
- [ boolean ] If it is a directory or not.
isFile
Filesystem:isFile( path )
Checks if a path refers to a file.
Parameters:
- path [ string ] The path to check
Returns:
- [ boolean ] If its a file or not.
writeToFile
Filesystem:writeToFile( path, data, createIfNotExists )
Writes data into a file. Automatically creates missing directories and the file unless disabled.
Parameters:
- path [ string ] The path to write the file to.
- data [ string ] The data to write to that file.
- createIfNotExists [ boolean? ] Create the file if it doesn't exist. Defaults to true
resolve
Filesystem:resolve( path )
Resolves a relative path into an absolute path. Note that this depends on the current path!
Parameters:
- path [ string ] The path to resolve.
Returns:
- [ string ] The normalized
/path/to/fileform.
enableEncryption
Due to the team wanting this update to be finished ASAP and that i (VeraDev) wasen't bothered enough to fix this, toggling encryption via this will NOT notify the computer causing unexpected behaviour!
However hopefully in the Post-V3 update, we can fix this. (This is not a promise however)
Filesystem:enableEncryption( password )
If you need to use this function where the user can access it, PLEASE ask them to retype their password twice as theres no recovery option if you forget your password!
Encrypts all filesystem contents using the provided password. You do not have to call Filesystem:enterEncryptionPassword if you are encrypting the filesystem.
Parameters:
- password [ string ] The password to encrypt the comptuer with
disableEncryption
Due to the team wanting this update to be finished ASAP and that i (VeraDev) wasen't bothered enough to fix this, toggling encryption via this will NOT notify the computer causing unexpected behaviour!
However hopefully in the Post-V3 update, we can fix this. (This is not a promise however)
Filesystem:disableEncryption()
Decrypts all contents and disables encryption.
enterEncryptionPassword
Filesystem:enterEncryptionPassword( password )
Tests if a given password can decrypt existing encrypted contents. Required for reading/writing to the filesystem
Parameters:
- password [ string ] The password to try entering.
Returns:
- [ boolean ]
trueif valid, otherwisefalse(Note that the computer automaticly decrypts itself if true)