📁 Fichier
Un File représente une entrée vers un système de fichier.
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.
🎒 Examples
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
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
| Type | Name | Default | Description |
|---|---|---|---|
| string | file_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 |
| boolean | truncate | false | Indique si le fichier doit être vidé ou non lors de son ouverture |
🗿 Static Functions
| Returns | Name | Description | |
|---|---|---|---|
| boolean | CreateDirectory | Crée un dossier (pour chaque dossier spécifié) | |
| boolean | Exists | Vérifie si une entrée existe dans le système de fichiers | |
| table of string | GetDirectories | Renvoie la liste de tous les dossiers présents dans un chemin donné | |
| table of string | GetFiles | Renvoie la liste de tous les fichiers d'un dossier | |
| string | GetFullPath | Renvoie le chemin absolu à partir d'un chemin relatif, selon l'environnement actuel (client ou serveur) | |
| boolean | IsDirectory | Vérifie si un chemin est un dossier | |
| boolean | IsRegularFile | Vérifie si le chemin d'accès est un fichier | |
| integer | Remove | Supprimer un dossier ou un fichier | |
| integer | Time | Renvoie 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
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | path | Required parameter | Chemin vers le dossier |
Returns
| Type | Description |
|---|---|
| boolean | si réussi |
Moderate

Exists
Vérifie si une entrée existe dans le système de fichiers
local ret = File.Exists(path)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | path | Required parameter | Chemin vers un fichier ou un dossier |
Returns
| Type | Description |
|---|---|
| boolean | s'il existe |
Slow

GetDirectories
Récupère la liste de tous les dossiers correspondant à un chemin donné, avec des filtres facultatifs
local ret = File.GetDirectories(path_filter?, max_depth?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | path_filter? | | Filtre de chemins |
| integer | max_depth? | -1 | La profondeur maximale d'exploration des dossiers lors de la recherche. Passez -1 pour la profondeur maximale |
Slow

GetFiles
Récupère la liste de tous les fichiers d'un dossier, avec des filtres facultatifs
local ret = File.GetFiles(path_filter?, extension_filter?, max_depth?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string or table | path_filter? | | Filtre de chemins |
| string | extension_filter? | | Ex.: .lua |
| integer | max_depth? | -1 | La profondeur maximale d'exploration des dossiers lors de la recherche. Passez -1 pour la profondeur maximale |
Moderate

GetFullPath
Renvoie le chemin absolu à partir d'un chemin relatif, selon l'environnement actuel (client ou serveur)
local ret = File.GetFullPath(path)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | path | Required parameter | Chemin vers un fichier ou un dossier |
Returns
| Type | Description |
|---|---|
| string | le chemin complet parsé |
Moderate

IsDirectory
Vérifie si un chemin est un dossier
local ret = File.IsDirectory(path)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | path | Required parameter | Chemin vers le dossier |
Returns
| Type | Description |
|---|---|
| boolean | si c'est un dossier |
Moderate

IsRegularFile
Vérifie si le chemin d'accès est un fichier
local ret = File.IsRegularFile(path)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | path | Required parameter | Chemin vers le fichier |
Returns
| Type | Description |
|---|---|
| boolean | si c'est un fichier standard |
Slow

Remove
Supprimer un dossier ou un fichier
local ret = File.Remove(path)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | path | Required parameter | Chemin vers un fichier ou un dossier |
Returns
| Type | Description |
|---|---|
| integer | nombre de fichiers supprimés |
Slow

Time
Renvoie quand un fichier a été modifié pour la dernière fois en temps Unix
local ret = File.Time(path)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | path | Required parameter | Chemin vers le fichier |
Returns
| Type | Description |
|---|---|
| integer | dernière mise à jour en temps Unix |
🦠 Functions
| Returns | Name | Description | |
|---|---|---|---|
Close | Ferme le fichier et détruit l'objet File | ||
Flush | Force l'écriture du contenu dans le fichier | ||
| boolean | HasFailed | Vérifie si la dernière opération a échoué | |
| boolean | IsBad | Vérifie si le statut du fichier est Invalide | |
| boolean | IsEOF | Vérifie si le statut du fichier indique la fin de fichier | |
| boolean | IsGood | Si le statut est Valide | |
| string | 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 | |
ReadAsync | Lit des caractères à partir du fichier de manière asynchrone. | ||
| table | ReadJSON | Lit l'intégralité du fichier au format JSON et le renvoie. | |
ReadJSONAsync | Lit l'intégralité du fichier au format JSON et le renvoie de manière asynchrone. | ||
| string | ReadLine | Lit et renvoie la ligne suivante du fichier | |
Seek | Définit le pointeur du fichier à une position spécifique | ||
| integer | Size | Renvoie la taille du fichier | |
Skip | Saute n (nombre) positions à partir de la position actuelle du curseur dans le fichier | ||
| integer | Tell | Renvoie 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
| Type | Description |
|---|---|
| boolean | si la dernière opération a échoué |
Optimal

IsBad
Vérifie si le statut du fichier est Invalide
local ret = my_file:IsBad()
Returns
| Type | Description |
|---|---|
| boolean | si le statut est Invalide |
Optimal

IsEOF
Vérifie si le statut du fichier indique la fin de fichier
local ret = my_file:IsEOF()
Returns
| Type | Description |
|---|---|
| boolean | si la fin de fichier (EOF) est atteinte |
Optimal

IsGood
Si le statut est Valide
local ret = my_file:IsGood()
Returns
| Type | Description |
|---|---|
| boolean | si 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
| Type | Parameter | Default | Description |
|---|---|---|---|
| integer | length? | 0 | Longueur à lire dans le fichier (laisser vide ou indiquer 0 pour lire l'intégralité du fichier) |
Returns
| Type | Description |
|---|---|
| string | données du fichier |
Optimal

ReadAsync
Lit des caractères à partir du fichier de manière asynchrone.
my_file:ReadAsync(length?, callback)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| integer | length? | 0 | Longueur à lire dans le fichier (indiquez 0 pour lire l'intégralité du fichier) |
| function | callback | 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
| Type | Description |
|---|---|
| table | tableau parsé |
Optimal

ReadJSONAsync
Lit l'intégralité du fichier au format JSON et le renvoie de manière asynchrone.
my_file:ReadJSONAsync(callback)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| function | callback | 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
| Type | Description |
|---|---|
| string | données de la ligne du fichier |
Moderate

Seek
Définit le pointeur du fichier à une position spécifique
my_file:Seek(position)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| integer | position | Required parameter | Position de décalage du curseur dans le fichier |
Optimal

Size
Renvoie la taille du fichier
local ret = my_file:Size()
Returns
| Type | Description |
|---|---|
| integer | taille du fichier |
Optimal

Skip
Saute n (nombre) positions à partir de la position actuelle du curseur dans le fichier
my_file:Skip(amount)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| integer | amount | 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
| Type | Description |
|---|---|
| integer | position actuelle du curseur dans le fichier |
Slow

Write
Écrit les données à la position actuelle dans le fichier
my_file:Write(data)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| string | data | Required parameter | Données à écrire dans le fichier |
🚀 Events
This class doesn't have own events.



