Module module de base

Module fs

Module de traitement du système de fichiers

Instructions:

1
var fs = require('fs');

Quelques points à noter :

  • Exécuter les fs.watch(filename)retours d'un héritageEventEmitter Watcher, il prend en charge les trois événements "change", "changeonly", "renameonly"
  • fs.watchFile(target)Et fs.unwatchFile(target)peut toujours être utilisé par paires
  • fs.watchFile(target) Renverra un hérité de EventEmitter de StatsWatcherObjet, appel fs.unwatchFile(target)équivalent à l'appel StatsWatcher.close().
  • Depuis uv sur l'implémentation Linux, fs.watchles recursiveoptions win32 / darwin sont un support stable. Vous pouvez toujours essayer de les utiliser uniquement sous Linux fs.watch('/[path](path.md)/to', { recursive: true }, handler), mais handlerle temps de rappel peut différer de vos attentes.

Objet

constants

Objet constant du module fs

1
fs_constants fs.constants;

Fonction statique

exists

Demander si le fichier ou le répertoire spécifié existe

1
static Boolean fs.exists(String path) async;

Paramètres d'appel :

  • path: String, spécifiez le chemin à interroger

Résultat de retour :

  • Boolean, Renvoie True pour indiquer que le fichier ou le répertoire existe

access

Interroger l'autorité de l'utilisateur sur le fichier spécifié

1 2
static fs.access(String path, Integer mode = 0) async;

Paramètres d'appel :

  • path: String, spécifiez le chemin à interroger
  • mode: Entier, spécifiez les autorisations de requête, la valeur par défaut est de savoir si le fichier existe

Créer un fichier de lien dur, cette méthode n'est pas prise en charge sous Windows

1 2
static fs.link(String oldPath, String newPath) async;

Paramètres d'appel :

  • oldPath: chaîne, fichier source
  • newPath: String, le fichier à créer

Supprimer le fichier spécifié

1
static fs.unlink(String path) async;

Paramètres d'appel :

  • path: String, spécifiez le chemin à supprimer

mkdir

Créer un répertoire

1 2
static fs.mkdir(String path, Integer mode = 0777) async;

Paramètres d'appel :

  • path: String, précisez le nom du répertoire à créer
  • mode: Entier, spécifiez les autorisations de fichier, Windows ignore ce paramètre, valeur par défaut : 0777

Créer un répertoire

1 2
static fs.mkdir(String path, Object opt) async;

Paramètres d'appel :

  • path: String, précisez le nom du répertoire à créer
  • opt: Objet, spécifiez les paramètres de création

Le paramètre de création peut contenir les valeurs suivantes :

1 2 3 4
{ recursive: false, // 指定是否父目录不存在是是否自动创建,默认值: false mode: 0777 // 指定文件权限,Windows 忽略此参数,默认值: 0777 }

rmdir

Supprimer un répertoire

1
static fs.rmdir(String path) async;

Paramètres d'appel :

  • path: String, spécifiez le nom du répertoire à supprimer

rename

Renommer un fichier

1 2
static fs.rename(String from, String to) async;

Paramètres d'appel :

  • from: String, spécifiez le fichier renommé
  • to: String, spécifiez le nouveau nom de fichier à modifier

copyFile

Copiez src dans dest. Par défaut, si dest existe déjà, il sera écrasé.

1 2 3
static fs.copyFile(String from, String to, Integer mode = 0) async;

Paramètres d'appel :

  • from: String, spécifiez le nom du fichier source à copier
  • to: String, spécifiez le nom du fichier cible à copier
  • mode: Entier, spécifiez le modificateur de l'opération de copie, la valeur par défaut est 0

mode est un entier facultatif qui spécifie le comportement de l'opération de copie. Vous pouvez créer un masque composé du OU au niveau du bit de deux ou plusieurs valeurs (telles quefs.constants.COPYFILE_EXCL | fs.constants.COPYFILE_FICLONE).

  • fs.constants.COPYFILE_EXCL-Si dest existe déjà, l'opération de copie échouera.
  • fs.constants.COPYFILE_FICLONE-L'opération de copie tentera de créer un lien de copie sur écriture. Si la plate-forme ne prend pas en charge la copie sur écriture, un mécanisme de copie de sauvegarde est utilisé.
  • fs.constants.COPYFILE_FICLONE_FORCE-L'opération de copie tentera de créer un lien de copie sur écriture. Si la plate-forme ne prend pas en charge la copie sur écriture, l'opération de copie échouera.

chmod

Définissez l'autorisation d'accès du fichier spécifié, Windows ne prend pas en charge cette méthode

1 2
static fs.chmod(String path, Integer mode) async;

Paramètres d'appel :

  • path: String, spécifiez le fichier d'opération
  • mode: Entier, spécifiez l'autorité d'accès définie

lchmod

Définissez l'autorisation d'accès du fichier spécifié. Si le fichier est un lien logiciel, l'autorisation du fichier ne sera pas modifiée. Elle n'est disponible que sur les plates-formes macOS et BSD.

1 2
static fs.lchmod(String path, Integer mode) async;

Paramètres d'appel :

  • path: String, spécifiez le fichier d'opération
  • mode: Entier, spécifiez l'autorité d'accès définie

chown

Définir le propriétaire du fichier spécifié, Windows ne prend pas en charge cette méthode

1 2 3
static fs.chown(String path, Integer uid, Integer gid) async;

Paramètres d'appel :

  • path: chaîne, fichier pour spécifier les paramètres
  • uid: Entier, l'identifiant utilisateur du propriétaire du fichier
  • gid : nombre entier, identifiant du groupe du propriétaire du fichier

lchown

Définit le propriétaire du fichier spécifié. Si le fichier spécifié est un lien symbolique, le propriétaire du fichier pointé ne sera pas modifié. Windows ne prend pas en charge cette méthode

1 2 3
static fs.lchown(String path, Integer uid, Integer gid) async;

Paramètres d'appel :

  • path: chaîne, fichier pour spécifier les paramètres
  • uid: Entier, l'identifiant utilisateur du propriétaire du fichier
  • gid : nombre entier, identifiant du groupe du propriétaire du fichier

stat

Interroger les informations de base du fichier spécifié

1
static Stat fs.stat(String path) async;

Paramètres d'appel :

  • path: String, spécifiez le fichier à interroger

Résultat de retour :

  • Stat, Retourne les informations de base du fichier

lstat

Interroge les informations de base du fichier spécifié. La différence avec stat est que lorsquepathLorsqu'il s'agit d'un lien logiciel, les informations du lien logiciel seront renvoyées à la place des informations du fichier pointé

1
static Stat fs.lstat(String path) async;

Paramètres d'appel :

  • path: String, spécifiez le fichier à interroger

Résultat de retour :

  • Stat, Retourne les informations de base du fichier

Lire le fichier de connexion logicielle spécifié, cette méthode n'est pas prise en charge sous Windows

1
static String fs.readlink(String path) async;

Paramètres d'appel :

  • path: String, spécifie le fichier de connexion logicielle à lire

Résultat de retour :

  • String, Renvoie le nom du fichier pointé par le lien logiciel

realpath

Renvoie le chemin absolu du chemin spécifié, si le chemin spécifié contient un chemin relatif, il sera également développé

1
static String fs.realpath(String path) async;

Paramètres d'appel :

  • path: String, spécifiez le chemin à lire

Résultat de retour :

  • String, Renvoie le chemin absolu traité

Créer un fichier de connexion logicielle

1 2 3
static fs.symlink(String target, String linkpath, String type = "file") async;

Paramètres d'appel :

  • target: String, le fichier cible, il peut s'agir d'un fichier, d'un répertoire ou d'un chemin qui n'existe pas
  • linkpath: String, le fichier de lien logiciel à créer
  • type: String, le type de connexion logicielle créée, les types facultatifs sont'file','dir','junction', la valeur par défaut est'file', ce paramètre n'est valide que sur windows, lorsqu'il s'agit de'junction', la cible sera créé Le chemin linkpath doit être un chemin absolu, et la cible sera automatiquement convertie en un chemin absolu.

truncate

Modifiez la taille du fichier, si la longueur spécifiée est supérieure à la taille du fichier source, remplissez-le avec '\0', sinon plus le contenu du fichier sera perdu

1 2
static fs.truncate(String path, Integer len) async;

Paramètres d'appel :

  • path: String, spécifiez le chemin du fichier modifié
  • len: Entier, précisez la taille du fichier modifié

read

Selon le descripteur de fichier, lisez le contenu du fichier

1 2 3 4 5
static Integer fs.read(Integer fd, Buffer buffer, Integer offset = 0, Integer length = 0, Integer position = -1) async;

Paramètres d'appel :

  • fd: Entier, descripteur de fichier
  • buffer: Buffer, Lire le résultat écrit Buffer Objet
  • offset: Entier, Buffer Écrire le décalage, la valeur par défaut est 0
  • length: Entier, le nombre d'octets lus dans le fichier, la valeur par défaut est 0
  • position: Entier, la position de lecture du fichier, la valeur par défaut est la position actuelle du fichier

Résultat de retour :

  • Integer, Le nombre d'octets réellement lus

fchmod

Selon le descripteur de fichier, le mode de fichier est modifié. Uniquement valable dans les systèmes POSIX.

1 2
static fs.fchmod(Integer fd, Integer mode) async;

Paramètres d'appel :

  • fd: Entier, descripteur de fichier
  • mode: Entier, mode fichier

fchown

Selon le descripteur de fichier, le propriétaire est modifié. Uniquement valable dans les systèmes POSIX.

1 2 3
static fs.fchown(Integer fd, Integer uid, Integer gid) async;

Paramètres d'appel :

  • fd: Entier, descripteur de fichier
  • uid: Entier, identifiant utilisateur
  • gid: Entier, identifiant de groupe

fdatasync

Selon le descripteur de fichier, synchronisez les données sur le disque

1
static fs.fdatasync(Integer fd) async;

Paramètres d'appel :

  • fd: Entier, descripteur de fichier

fsync

Selon le descripteur de fichier, synchronisez les données sur le disque

1
static fs.fsync(Integer fd) async;

Paramètres d'appel :

  • fd: Entier, descripteur de fichier

readdir

Lire les informations de fichier du répertoire spécifié

1
static NArray fs.readdir(String path) async;

Paramètres d'appel :

  • path: String, spécifiez le répertoire à interroger

Résultat de retour :

  • NArray, Renvoie le tableau d'informations sur le fichier du répertoire

openFile

Ouvrez le fichier pour lire, écrire ou lire et écrire en même temps

1 2
static SeekableStream fs.openFile(String fname, String flags = "r") async;

Paramètres d'appel :

  • fname: String, spécifiez le nom du fichier
  • flags: String, spécifiez la méthode d'ouverture de fichier, la valeur par défaut est "r", en lecture seule

Résultat de retour :

Les méthodes prises en charge des indicateurs de paramètre sont les suivantes :

  • 'r' est en lecture seule, une erreur sera renvoyée si le fichier n'existe pas.
  • 'r+' en mode lecture et écriture, une erreur sera renvoyée si le fichier n'existe pas.
  • 'w' est écrit uniquement. Si le fichier n'existe pas, il sera créé automatiquement, et s'il existe, il sera effacé.
  • mode lecture et écriture 'w+', le fichier sera créé automatiquement s'il n'existe pas.
  • 'a' n'écrit que la méthode d'ajout, le fichier sera créé automatiquement s'il n'existe pas.
  • méthode d'ajout en lecture-écriture 'a+', le fichier sera créé automatiquement s'il n'existe pas.

open

Ouvrir le descripteur de fichier

1 2 3
static Integer fs.open(String fname, String flags = "r", Integer mode = 0666) async;

Paramètres d'appel :

  • fname: String, spécifiez le nom du fichier
  • flags: String, spécifiez la méthode d'ouverture de fichier, la valeur par défaut est "r", en lecture seule
  • mode: Entier, lors de la création d'un fichier, spécifiez le mode du fichier, par défaut 0666

Résultat de retour :

  • Integer, Renvoie le descripteur de fichier ouvert

Les méthodes prises en charge des indicateurs de paramètre sont les suivantes :

  • 'r' est en lecture seule, une erreur sera renvoyée si le fichier n'existe pas.
  • 'r+' en mode lecture et écriture, une erreur sera renvoyée si le fichier n'existe pas.
  • 'w' est écrit uniquement. Si le fichier n'existe pas, il sera créé automatiquement, et s'il existe, il sera effacé.
  • mode lecture et écriture 'w+', le fichier sera créé automatiquement s'il n'existe pas.
  • 'a' n'écrit que la méthode d'ajout, le fichier sera créé automatiquement s'il n'existe pas.
  • méthode d'ajout en lecture-écriture 'a+', le fichier sera créé automatiquement s'il n'existe pas.

close

Fermer le descripteur de fichier

1
static fs.close(Integer fd) async;

Paramètres d'appel :

  • fd: Entier, descripteur de fichier

openTextStream

Ouvrir un fichier texte pour lire, écrire ou lire et écrire en même temps

1 2
static BufferedStream fs.openTextStream(String fname, String flags = "r") async;

Paramètres d'appel :

  • fname: String, spécifiez le nom du fichier
  • flags: String, spécifiez la méthode d'ouverture de fichier, la valeur par défaut est "r", en lecture seule

Résultat de retour :

Les méthodes prises en charge des indicateurs de paramètre sont les suivantes :

  • 'r' est en lecture seule, une erreur sera renvoyée si le fichier n'existe pas.
  • 'r+' en mode lecture et écriture, une erreur sera renvoyée si le fichier n'existe pas.
  • 'w' est écrit uniquement. Si le fichier n'existe pas, il sera créé automatiquement, et s'il existe, il sera effacé.
  • mode lecture et écriture 'w+', le fichier sera créé automatiquement s'il n'existe pas.
  • 'a' n'écrit que la méthode d'ajout, le fichier sera créé automatiquement s'il n'existe pas.
  • méthode d'ajout en lecture-écriture 'a+', le fichier sera créé automatiquement s'il n'existe pas.

readTextFile

Ouvrez le fichier texte et lisez le contenu

1
static String fs.readTextFile(String fname) async;

Paramètres d'appel :

  • fname: String, spécifiez le nom du fichier

Résultat de retour :

  • String, Renvoie le contenu textuel du fichier

readFile

Ouvrez le fichier binaire et lisez le contenu

1 2
static Variant fs.readFile(String fname, String encoding = "") async;

Paramètres d'appel :

  • fname: String, spécifiez le nom du fichier
  • encoding: String, spécifiez la méthode de décodage, la valeur par défaut est de ne pas décoder

Résultat de retour :

  • Variant, Renvoie le contenu textuel du fichier

readLines

Ouvrez le fichier et lisez un groupe de lignes de texte dans un tableau. La fin de la ligne est identifiée en fonction du paramètre de l'attribut EOL. Par défaut, posix : "\n" ; windows : "\r\n"

1 2
static Array fs.readLines(String fname, Integer maxlines = -1);

Paramètres d'appel :

  • fname: String, spécifiez le nom du fichier
  • maxlines: Entier, spécifie le nombre maximum de lignes lues cette fois, lit toutes les lignes de texte par défaut

Résultat de retour :

  • Array, Renvoie le tableau de lignes de texte lu, s'il n'y a pas de données à lire ou si la connexion est interrompue, un tableau vide

writeTextFile

Créer un fichier texte et écrire du contenu

1 2
static fs.writeTextFile(String fname, String txt) async;

Paramètres d'appel :

  • fname: String, spécifiez le nom du fichier
  • txt: String, spécifiez la chaîne à écrire

writeFile

Créer un fichier binaire et écrire du contenu

1 2
static fs.writeFile(String fname, Buffer data) async;

Paramètres d'appel :

  • fname: String, spécifiez le nom du fichier
  • data: Buffer, Spécifiez les données binaires à écrire

appendFile

Créer un fichier binaire et écrire du contenu

1 2
static fs.appendFile(String fname, Buffer data) async;

Paramètres d'appel :

  • fname: String, spécifiez le nom du fichier
  • data: Buffer, Spécifiez les données binaires à écrire

setZipFS

Mettre en place zip Mappage de fichiers virtuels

1 2
static fs.setZipFS(String fname, Buffer data);

Paramètres d'appel :

  • fname: chaîne, spécifiez le chemin de mappage
  • data: Buffer, Spécifiez le mappé zip Données de fichier

clearZipFS

Dégager zip Mappage de fichiers virtuels

1
static fs.clearZipFS(String fname = "");

Paramètres d'appel :

  • fname: chaîne, spécifiez le chemin de mappage, effacez tous les caches par défaut

watch

Observer un fichier et renvoyer l'objet watcher correspondant

1
static FSWatcher fs.watch(String fname);

Paramètres d'appel :

  • fname: String, spécifiez l'objet fichier à observer

Résultat de retour :


Observer un fichier et renvoyer l'objet watcher correspondant

1 2
static FSWatcher fs.watch(String fname, Function callback);

Paramètres d'appel :

  • fname: String, spécifiez l'objet fichier à observer
  • callback: fonction, (evtType: 'change' | 'rename', filename: string) => anyle rappel de traitement lorsque l'objet fichier change

Résultat de retour :


Observer un fichier et renvoyer l'objet watcher correspondant

1 2
static FSWatcher fs.watch(String fname, Object options);

Paramètres d'appel :

  • fname: String, spécifiez l'objet fichier à observer
  • options: Objet, options d'observation

Résultat de retour :

Les options prises en charge sont les suivantes :

1 2 3 4 5
{ "persistent": true, // {boolean} default: true 是否只要目标文件还在被观察, 进程就不退出 "recursive": false, // {boolean} default: false 对于 fname 为文件夹的情况, 是否递归地观察其下所有的子目录 "encoding": "utf8", // {enum} default: 'utf8' 指定解析传入的 fname 的字符编码 }

Observer un fichier et renvoyer l'objet watcher correspondant

1 2 3
static FSWatcher fs.watch(String fname, Object options, Function callback);

Paramètres d'appel :

  • fname: String, spécifiez l'objet fichier à observer
  • options: Objet, options d'observation
  • callback: fonction, (evtType: 'change' | 'rename', filename: string) => anyle rappel de traitement lorsque l'objet fichier change

Résultat de retour :

Les options prises en charge sont les suivantes :

1 2 3 4 5
{ "persistent": true, // {boolean} default: true 是否只要目标文件还在被观察, 进程就不退出 "recursive": false, // {boolean} default: false 对于 fname 为文件夹的情况, 是否递归地观察其下所有的子目录 "encoding": "utf8", // {enum} default: 'utf8' 指定解析传入的 fname 的字符编码 }

watchFile

Observer un fichier et retourner le correspondant StatsWatcher Objet

1 2
static StatsWatcher fs.watchFile(String fname, Function callback);

Paramètres d'appel :

  • fname: String, spécifiez l'objet fichier à observer
  • callback: fonction, (curStats: Stats, prevStats: Stats) => anyle rappel de traitement lorsque les statistiques de l'objet fichier changent

Résultat de retour :


Observer un fichier et retourner le correspondant StatsWatcher Objet

1 2 3
static StatsWatcher fs.watchFile(String fname, Object options, Function callback);

Paramètres d'appel :

  • fname: String, spécifiez l'objet fichier à observer
  • options: Objet, options d'observation
  • callback: fonction, (curStats: Stats, prevStats: Stats) => anyle rappel de traitement lorsque les statistiques de l'objet fichier changent

Résultat de retour :

Les options prises en charge sont les suivantes :

1 2 3 4 5
{ "persistent": true, // {boolean} default: true 是否只要目标文件还在被观察, 进程就不退出 "recursive": false, // {boolean} default: false 对于 fname 为文件夹的情况, 是否递归地观察其下所有的子目录 "encoding": "utf8", // {enum} default: 'utf8' 指定解析传入的 fname 的字符编码 }

unwatchFile

De l'observation de fname StatsWatcher Supprimer tous les événements observés dans le rappel

1
static fs.unwatchFile(String fname);

Paramètres d'appel :

  • fname: String, spécifiez l'objet fichier à observer

Résultat de retour :


De l'observation de fname StatsWatcherLe rappel de l'événement observé a supprimé le callbackrappel

1 2
static fs.unwatchFile(String fname, Function callback);

Paramètres d'appel :

  • fname: String, spécifiez l'objet fichier à observer
  • callback: Fonction, rappel à supprimer

Résultat de retour :

Même si le rappel n'est plus StatsWatcher Aucune erreur ne sera signalée dans le rappel de l'événement d'observation

constant

SEEK_SET

mode de recherche constant, passer à la position absolue

1
const fs.SEEK_SET = 0;

SEEK_CUR

La constante du mode de recherche, se déplace vers la position relative de la position actuelle

1
const fs.SEEK_CUR = 1;

SEEK_END

mode de recherche constant, déplacement à la position relative de la fin du fichier

1
const fs.SEEK_END = 2;