Passer au contenu principal
Version: latest - a1.156.0 ⚖️

📁 Fichier

Un File représente une entrée vers un système de fichier.

Client & Server🧑‍💻API Source

info

Il n'est pas possible d'ouvrir des fichiers en dehors du dossier du serveur. Tous les chemins doivent être relatifs au dossier exécutable du serveur. Tous les fichiers sont ouverts en tant que fichier binaire par défaut.

🎒 Exemples​

Server/Index.lua
local configuration_file = File("my_awesome_configuration.json")

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

📂 File Access & Sandboxing​

L'accès aux fichiers est restreint. Seuls certains répertoires et fichiers sont autorisés à être lus ou modifiés.

Allowed Extensions​

Only the following file extensions are allowed to be accessed (read & write):

.txt .dat .json .toml .xml .csv .log .png .jpg .jpeg .webp .webm .mp3 .wav .ogg .mp4

note

If you think that a file extension should be added to the allowed list, please report it in the Feedback Hub.

Côté serveur​

Sur le serveur, l’accès aux fichiers est uniquement autorisé à l’intérieur du dossier du serveur (là où se trouve l’exécutable du serveur). De plus, l’accès au fichier Config.toml n’est pas autorisé.

Le répertoire par défaut est là où le serveur exécutable est situé.

Example accessing a file from a Package: Packages/My-Package/Server/MyFile.json.

Coté client​

On the client side, we have the concept of the .transient/ folder which is a folder automatically generated inside the client's cached Packages/ folder, where files can be created in a more persistent way.

It's not allowed to access files outside the client's cache folder Packages/, and write access is only permitted inside the .transient/ folder itself.

The default directory is in the client's cached Packages/.transient/ folder.

Example accessing a file from a Package (with read-only access): ../my-package/Client/MyFile.json.

Example accessing a transient file (with write access): MyFile.json.

🛠 Constructors​

Default Constructor​

No description provided

local my_file = File(file_path, truncate?)

Parameters

TypeNameDefaultDescription
stringfile_path Required parameter Côté serveur, il s'agit du chemin relatif vers l'exécutable du serveur. Sinon, côté client, il s'agit du chemin relatif vers le dossier 'Packages/.transient/' du client
booleantruncatefalseIndique si le fichier doit être vidé ou non lors de son ouverture

🗿 Fonctions statiques​

ReturnsNameDescription
booleanCreateDirectoryCrée un dossier (pour chaque dossier spécifié)
booleanExistsVerifies if an entry exists in the file system
table of stringGetDirectoriesRenvoie la liste de tous les dossiers présents dans un chemin donné
table of stringGetFilesRenvoie la liste de tous les fichiers d'un dossier
stringGetFullPathRenvoie le chemin absolu à partir d'un chemin relatif, selon l'environnement actuel (client ou serveur)
booleanIsDirectoryVérifie si un chemin est un dossier
booleanIsRegularFileVérifie si le chemin d'accès est un fichier
integerRemoveSupprimer un dossier ou un fichier
booleanRenameRenames or moves a folder or file
integerTimeRenvoie quand un fichier a été modifié pour la dernière fois en temps Unix

Slow

CreateDirectory​

Crée un dossier (pour chaque dossier spécifié)
local ret = File.CreateDirectory(path)

Parameters

TypeParameterDefaultDescription
stringpath Required parameter Chemin vers le dossier

Returns

TypeDescription
booleansi réussi

Moderate

Exists​

Verifies if an entry exists in the file system
local ret = File.Exists(path)

Parameters

TypeParameterDefaultDescription
stringpath Required parameter Chemin vers un fichier ou un dossier

Returns

TypeDescription
booleans'il existe

Slow

GetDirectories​

Gets a list of all directories given a path, optionally with filters. Note that the results may differ between Linux and Windows due to the way the file system works
local ret = File.GetDirectories(path_filter?, max_depth?)

Parameters

TypeParameterDefaultDescription
stringpath_filter?
Path filter
integermax_depth?-1
La profondeur maximale d'exploration des dossiers lors de la recherche. Passez -1 pour la profondeur maximale

Returns

TypeDescription
table of stringList of directories

Slow

GetFiles​

Gets a list of all files in a directory, optionally with filters. Note that the results may differ between Linux and Windows due to the way the file system works
local ret = File.GetFiles(path_filter?, extension_filter?, max_depth?)

Parameters

TypeParameterDefaultDescription
string or tablepath_filter?
Path filter
stringextension_filter?
Ex.: .lua
integermax_depth?-1
La profondeur maximale d'exploration des dossiers lors de la recherche. Passez -1 pour la profondeur maximale

Returns

TypeDescription
table of stringList of files

Moderate

GetFullPath​

Renvoie le chemin absolu à partir d'un chemin relatif, selon l'environnement actuel (client ou serveur)
local ret = File.GetFullPath(path)

Parameters

TypeParameterDefaultDescription
stringpath Required parameter Chemin vers un fichier ou un dossier

Returns

TypeDescription
stringle chemin complet parsé

Moderate

IsDirectory​

Vérifie si un chemin est un dossier
local ret = File.IsDirectory(path)

Parameters

TypeParameterDefaultDescription
stringpath Required parameter Chemin vers le dossier

Returns

TypeDescription
booleanWhether the path is a directory

Moderate

IsRegularFile​

Vérifie si le chemin d'accès est un fichier
local ret = File.IsRegularFile(path)

Parameters

TypeParameterDefaultDescription
stringpath Required parameter Chemin vers le fichier

Returns

TypeDescription
booleanWhether the path is a regular file

Slow

Remove​

Supprimer un dossier ou un fichier
local ret = File.Remove(path)

Parameters

TypeParameterDefaultDescription
stringpath Required parameter Chemin vers un fichier ou un dossier

Returns

TypeDescription
integernombre de fichiers supprimés

Slow

Rename​

Renames or moves a folder or file
local ret = File.Rename(old_path, new_path)

Parameters

TypeParameterDefaultDescription
stringold_path Required parameter Path to the existing file or folder
stringnew_path Required parameter New path of the file or folder

Returns

TypeDescription
booleanif it was successfully renamed

Slow

Time​

Renvoie quand un fichier a été modifié pour la dernière fois en temps Unix
local ret = File.Time(path)

Parameters

TypeParameterDefaultDescription
stringpath Required parameter Chemin vers le fichier

Returns

TypeDescription
integerdernière mise à jour en temps Unix

🦠 Fonctions​

ReturnsNameDescription
CloseFerme le fichier et détruit l'objet File
FlushForce l'écriture du contenu dans le fichier
booleanHasFailedVérifie si la dernière opération a échoué
booleanIsBadVérifie si le statut du fichier est Invalide
booleanIsEOFVérifie si le statut du fichier indique la fin de fichier
booleanIsGoodSi le statut est Valide
stringReadLit des caractères à partir du fichier et les renvoie. Déplace également le curseur dans le fichier vers la dernière position lue. Indiquez 0 pour lire l'intégralité du fichier
ReadAsyncLit des caractères à partir du fichier de manière asynchrone.
tableReadJSONLit l'intégralité du fichier au format JSON et le renvoie.
ReadJSONAsyncLit l'intégralité du fichier au format JSON et le renvoie de manière asynchrone.
stringReadLineLit et renvoie la ligne suivante du fichier
SeekDéfinit le pointeur du fichier à une position spécifique
integerSizeRenvoie la taille du fichier
SkipSaute n (nombre) positions à partir de la position actuelle du curseur dans le fichier
integerTellRenvoie la position actuelle du curseur dans le fichier
WriteÉcrit les données à la position actuelle dans le fichier

Blocking

Close​

Ferme le fichier et détruit l'objet File
my_file:Close()

Blocking

Flush​

Force l'écriture du contenu dans le fichier
my_file:Flush()

Optimal

HasFailed​

Vérifie si la dernière opération a échoué
local ret = my_file:HasFailed()

Returns

TypeDescription
booleansi la dernière opération a échoué

Optimal

IsBad​

Vérifie si le statut du fichier est Invalide
local ret = my_file:IsBad()

Returns

TypeDescription
booleansi le statut est Invalide

Optimal

IsEOF​

Vérifie si le statut du fichier indique la fin de fichier
local ret = my_file:IsEOF()

Returns

TypeDescription
booleansi la fin de fichier (EOF) est atteinte

Optimal

IsGood​

Si le statut est Valide
local ret = my_file:IsGood()

Returns

TypeDescription
booleansi le statut est Valide

Blocking

Read​

Lit des caractères à partir du fichier et les renvoie. Déplace également le curseur dans le fichier vers la dernière position lue. Indiquez 0 pour lire l'intégralité du fichier
local ret = my_file:Read(length?)

Parameters

TypeParameterDefaultDescription
integerlength?0
Longueur à lire dans le fichier (laisser vide ou indiquer 0 pour lire l'intégralité du fichier)

Returns

TypeDescription
stringdonnées du fichier

Optimal

ReadAsync​

Lit des caractères à partir du fichier de manière asynchrone.
my_file:ReadAsync(length?, callback)

Parameters

TypeParameterDefaultDescription
integerlength?0
Longueur à lire dans le fichier (indiquez 0 pour lire l'intégralité du fichier)
functioncallback Required parameter Callback with this format

Blocking

ReadJSON​

Lit l'intégralité du fichier au format JSON et le renvoie.
local ret = my_file:ReadJSON()

Returns

TypeDescription
tabletableau parsé

Optimal

ReadJSONAsync​

Lit l'intégralité du fichier au format JSON et le renvoie de manière asynchrone.
my_file:ReadJSONAsync(callback)

Parameters

TypeParameterDefaultDescription
functioncallback Required parameter Callback avec le fichier lu with this format

Blocking

ReadLine​

Lit et renvoie la ligne suivante du fichier
local ret = my_file:ReadLine()

Returns

TypeDescription
stringdonnées de la ligne du fichier

Moderate

Seek​

Définit le pointeur du fichier à une position spécifique
my_file:Seek(position)

Parameters

TypeParameterDefaultDescription
integerposition Required parameter Position de décalage du curseur dans le fichier

Optimal

Size​

Renvoie la taille du fichier
local ret = my_file:Size()

Returns

TypeDescription
integertaille du fichier

Optimal

Skip​

Saute n (nombre) positions à partir de la position actuelle du curseur dans le fichier
my_file:Skip(amount)

Parameters

TypeParameterDefaultDescription
integeramount Required parameter Valeur de décalage du curseur dans le fichier

Optimal

Tell​

Renvoie la position actuelle du curseur dans le fichier
local ret = my_file:Tell()

Returns

TypeDescription
integerposition actuelle du curseur dans le fichier

Slow

Write​

Écrit les données à la position actuelle dans le fichier
my_file:Write(data)

Parameters

TypeParameterDefaultDescription
stringdata Required parameter Données à écrire dans le fichier

🚀 Événements​

This class doesn't have own events.