Skip to main content

File

A File represents an entry to a system file.

💂Authority
This class can be spawned on both 🟧 Client and 🟦 Server side (if you spawn it on client, it won't be synchronized with other players).

info

It is not possible to open files from outside the server folder. All path must be relative to the Server's executable folder. All files are opened as binary file by default.

Examples​

local configuration_file = File("my_awesome_configuration.json")

local configuration_file_json = JSON.parse(configuration_file:Read(configuration_file:Size()))

Constructors​

Default Constructor​

local my_file = File(file_path, truncate?)
TypeNameDefaultDescription
stringfile_pathIf on Server, this is the Path relative to server executable. Otherwise if on Client, this is the Path relative to Client's 'Packages/.transient/' folder
booleantruncatefalseWhether or not to clear the file upon opening it

Static Functions​

ReturnsNameDescription
integerTimeReturns when a file was last modified in Unix time
booleanCreateDirectoryCreates a Directory (for every folder passed)
integerRemoveDeletes a folder or file
booleanExistsVerifies if a entry exists in the file system
booleanIsDirectoryChecks if a path is a directory
booleanIsRegularFileChecks if a path is a file

Time​

Returns when a file was last modified in Unix time

— Returns integer (the last update time in unix time).

local ret = File.Time(path)
TypeParameterDefaultDescription
stringpathPath to file

CreateDirectory​

Creates a Directory (for every folder passed)

— Returns boolean (if succeeded).

local ret = File.CreateDirectory(path)
TypeParameterDefaultDescription
stringpathPath to folder

Remove​

Deletes a folder or file

— Returns integer (amount of files deleted).

local ret = File.Remove(path)
TypeParameterDefaultDescription
stringpathPath to file or folder

Exists​

Verifies if a entry exists in the file system

— Returns boolean (if exists).

local ret = File.Exists(path)
TypeParameterDefaultDescription
stringpathPath to file or folder

IsDirectory​

Checks if a path is a directory

— Returns boolean (if is a directory).

local ret = File.IsDirectory(path)
TypeParameterDefaultDescription
stringpathPath to folder

IsRegularFile​

Checks if a path is a file

— Returns boolean (if is a regular file).

local ret = File.IsRegularFile(path)
TypeParameterDefaultDescription
stringpathPath to file

Functions​

ReturnsNameDescription
CloseCloses the file and destroys the entity
FlushFlushes content to the file
booleanIsEOFChecks if the file status is End of File
booleanIsBadChecks if the file status is Bad
booleanIsGoodChecks if the file status is Good
booleanHasFailedChecks if the last operation has Failed
stringReadReads characters from the File and returns it. Also moves the file pointer to the latest read position. Pass 0 to read the whole file
ReadAsyncReads characters from the File asynchronously.
stringReadLineReads and returns the next file line
tableReadJSONReads the whole file as a JSON and returns it.
ReadJSONAsyncReads the whole file as a JSON and returns it asynchronously.
SeekSets the file pointer to a specific position
integerSizeReturns the size of the file
SkipSkips n (amount) positions from the current file pointer position
integerTellReturns the current file pointer position
WriteWrites the Data at the current position of the file

Close​

Closes the file and destroys the entity

my_file:Close()

Flush​

Flushes content to the file

my_file:Flush()

IsEOF​

Checks if the file status is End of File

— Returns boolean (if is EOF).

local ret = my_file:IsEOF()

IsBad​

Checks if the file status is Bad

— Returns boolean (if status is Bad).

local ret = my_file:IsBad()

IsGood​

Checks if the file status is Good

— Returns boolean (if status is Good).

local ret = my_file:IsGood()

HasFailed​

Checks if the last operation has Failed

— Returns boolean (if last operation failed).

local ret = my_file:HasFailed()

Read​

Reads characters from the File and returns it. Also moves the file pointer to the latest read position. Pass 0 to read the whole file

— Returns string (file data).

local ret = my_file:Read(length?)
TypeParameterDefaultDescription
integerlength?0Length to be read from file

ReadAsync​

Reads characters from the File asynchronously.

my_file:ReadAsync(length, callback)
TypeParameterDefaultDescription
integerlengthLength to be read from file
functioncallbackCallback with this format

ReadLine​

Reads and returns the next file line

— Returns string (file line data).

local ret = my_file:ReadLine()

ReadJSON​

Reads the whole file as a JSON and returns it.

— Returns table (parsed table).

local ret = my_file:ReadJSON()

ReadJSONAsync​

Reads the whole file as a JSON and returns it asynchronously.

my_file:ReadJSONAsync(callback)
TypeParameterDefaultDescription
functioncallbackCallback with the file read with this format

Seek​

Sets the file pointer to a specific position

my_file:Seek(position)
TypeParameterDefaultDescription
integerpositionPosition to offset the file pointer

Size​

Returns the size of the file

— Returns integer (file size).

local ret = my_file:Size()

Skip​

Skips n (amount) positions from the current file pointer position

my_file:Skip(amount)
TypeParameterDefaultDescription
integeramountAmount to offset the file pointer

Tell​

Returns the current file pointer position

— Returns integer (current file pointer position).

local ret = my_file:Tell()

Write​

Writes the Data at the current position of the file

my_file:Write(data)
TypeParameterDefaultDescription
stringdataData to write to the file

Events​

This entity doesn't have own events.