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

📁 Fichier

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

💂Authority
This class can be spawned on both 🟧 Client and 🟦 Server side.
🧑‍💻API Source
This page is auto-generated! The Functions, Properties and Events described here are defined in our GitHub's API Repository! Feel free to commit suggestions and changes to the source .json API files!

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.

🎒 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

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 ready-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?)
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

🗿 Static Functions

ReturnsNameDescription
booleanCreateDirectoryCrée un répertoire (pour chaque dossier spécifié)
booleanExistsVérifie si une entrée existe dans le système de fichiers
table of stringGetDirectoriesRenvoie la liste de tous les répertoires présents dans un chemin donné
table of stringGetFilesRenvoie la liste de tous les fichiers d'un répertoire
stringGetFullPathRenvoie le chemin absolu à partir d'un chemin relatif, selon l'environnement actuel (client ou serveur)
booleanIsDirectoryVérifie si un chemin est un répertoire
booleanIsRegularFileVérifie si le chemin d'accès est un fichier
integerRemoveSupprimer un répertoire ou un fichier
integerTimeRenvoie quand un fichier a été modifié pour la dernière fois en temps Unix

CreateDirectory

Crée un répertoire (pour chaque dossier spécifié)

— Returns boolean (si réussi).

local ret = File.CreateDirectory(path)
TypeParameterDefaultDescription
stringpath Required parameter Chemin vers le répertoire

Exists

Vérifie si une entrée existe dans le système de fichiers

— Returns boolean (s'il existe).

local ret = File.Exists(path)
TypeParameterDefaultDescription
stringpath Required parameter Chemin vers un fichier ou un répertoire

GetDirectories

Récupère la liste de tous les répertoires correspondant à un chemin donné, avec des filtres facultatifs

— Returns table of string (Liste des répertoires).

local ret = File.GetDirectories(path_filter?, max_depth?)
TypeParameterDefaultDescription
stringpath_filter?Filtre de chemins
integermax_depth?-1La profondeur maximale d'exploration des répertoires lors de la recherche. Passez -1 pour la profondeur maximale

GetFiles

Récupère la liste de tous les fichiers d'un répertoire, avec des filtres facultatifs

— Returns table of string (Liste des fichiers).

local ret = File.GetFiles(path_filter?, extension_filter?, max_depth?)
TypeParameterDefaultDescription
string or tablepath_filter?Filtre de chemins
stringextension_filter?Ex.: .lua
integermax_depth?-1La profondeur maximale d'exploration des répertoires lors de la recherche. Passez -1 pour la profondeur maximale

GetFullPath

Renvoie le chemin absolu à partir d'un chemin relatif, selon l'environnement actuel (client ou serveur)

— Returns string (le chemin complet parsé).

local ret = File.GetFullPath(path)
TypeParameterDefaultDescription
stringpath Required parameter Chemin vers un fichier ou un répertoire

IsDirectory

Vérifie si un chemin est un répertoire

— Returns boolean (si c'est un répertoire).

local ret = File.IsDirectory(path)
TypeParameterDefaultDescription
stringpath Required parameter Chemin vers le répertoire

IsRegularFile

Vérifie si le chemin d'accès est un fichier

— Returns boolean (si c'est un fichier standard).

local ret = File.IsRegularFile(path)
TypeParameterDefaultDescription
stringpath Required parameter Chemin vers le fichier

Remove

Supprimer un répertoire ou un fichier

— Returns integer (nombre de fichiers supprimés).

local ret = File.Remove(path)
TypeParameterDefaultDescription
stringpath Required parameter Chemin vers un fichier ou un répertoire

Time

Renvoie quand un fichier a été modifié pour la dernière fois en temps Unix

— Returns integer (dernière mise à jour en temps Unix).

local ret = File.Time(path)
TypeParameterDefaultDescription
stringpath Required parameter Chemin vers le fichier

🦠 Functions

ReturnsNameDescription
CloseFerme le fichier et détruit l'entité
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 de 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 de fichier
integerTellRenvoie la position actuelle du curseur de fichier
WriteÉcrit les données à la position actuelle dans le fichier

Close

Ferme le fichier et détruit l'entité

my_file:Close()

Flush

Force l'écriture du contenu dans le fichier

my_file:Flush()

HasFailed

Vérifie si la dernière opération a échoué

— Returns boolean (si la dernière opération a échoué).

local ret = my_file:HasFailed()

IsBad

Vérifie si le statut du fichier est Invalide

— Returns boolean (si le statut est Invalide).

local ret = my_file:IsBad()

IsEOF

Vérifie si le statut du fichier indique la fin de fichier

— Returns boolean (si la fin de fichier (EOF) est atteinte).

local ret = my_file:IsEOF()

IsGood

Si le statut est Valide

— Returns boolean (si le statut est Valide).

local ret = my_file:IsGood()

Read

Lit des caractères à partir du fichier et les renvoie. Déplace également le curseur de fichier vers la dernière position lue. Indiquez 0 pour lire l'intégralité du fichier

— Returns string (données du fichier).

local ret = my_file:Read(length?)
TypeParameterDefaultDescription
integerlength?0Longueur à lire dans le fichier (laisser vide ou indiquer 0 pour lire l'intégralité du fichier)

ReadAsync

Lit des caractères à partir du fichier de manière asynchrone.

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

ReadJSON

Lit l'intégralité du fichier au format JSON et le renvoie.

— Returns table (tableau analysé).

local ret = my_file:ReadJSON()

ReadJSONAsync

Lit l'intégralité du fichier au format JSON et le renvoie de manière asynchrone.

my_file:ReadJSONAsync(callback)
TypeParameterDefaultDescription
functioncallback Required parameter Callback avec le fichier lu with this format

ReadLine

Lit et renvoie la ligne suivante du fichier

— Returns string (données de la ligne du fichier).

local ret = my_file:ReadLine()

Seek

Définit le pointeur du fichier à une position spécifique

my_file:Seek(position)
TypeParameterDefaultDescription
integerposition Required parameter Position de décalage du curseur de fichier

Size

Renvoie la taille du fichier

— Returns integer (taille du fichier).

local ret = my_file:Size()

Skip

Saute n (nombre) positions à partir de la position actuelle du curseur de fichier

my_file:Skip(amount)
TypeParameterDefaultDescription
integeramount Required parameter Valeur de décalage du curseur de fichier

Tell

Renvoie la position actuelle du curseur de fichier

— Returns integer (position actuelle du curseur de fichier).

local ret = my_file:Tell()

Write

Écrit les données à la position actuelle dans le fichier

my_file:Write(data)
TypeParameterDefaultDescription
stringdata Required parameter Données à écrire dans le fichier

🚀 Events

This class doesn't have own events.