Module de base du module

module fs

module de traitement du système de fichiers

Des instructions:

1
var fs = require('fs');

Quelques notes:

  • fs.watch(filename)L'exécution renvoie un attribut qui hérite deEventEmitterL'observateur, il prend en charge 'change', 'changeonly', 'renameonly' trois événements
  • fs.watchFile(target)et peuvent fs.unwatchFile(target)toujours être utilisés par paires
  • fs.watchFile(target)retournera un héritage deEventEmitterdeStatsWatcherobjet, call est fs.unwatchFile(target)équivalent à call StatsWatcher.close().
  • En raison de l'implémentation de uv sous Linux, fs.watchl' recursiveoption uv n'est prise en charge de manière stable que sur win32/darwin. Vous pouvez toujours l'essayer sous Linux fs.watch('/[path](path.md)/to', { recursive: true }, handler), mais vous constaterez peut-être handlerque le moment du rappel est différent de ce à quoi vous vous attendiez

objet

constants

Objet constant pour le 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écifie le chemin à interroger

Retourner le résultat :

  • Boolean, renvoie True si le fichier ou le répertoire existe

access

Interroger les autorisations 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écifie le chemin à interroger
  • mode: Entier, spécifie l'autorisation de la requête, la valeur par défaut est si le fichier existe

Créer un fichier de lien physique, 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écifie 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, spécifie le nom du répertoire à créer
  • mode: Entier, spécifiez les permissions du 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, spécifie le nom du répertoire à créer
  • opt: Objet, précise les paramètres de création

Les paramètres de création peuvent 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écifie 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 à renommer
  • to: String, spécifie le nouveau nom de fichier à modifier

copyFile

Copiez src dans dest. Par défaut, dest est écrasé s'il existe déjà.

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

Paramètres d'appel :

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

mode est un entier facultatif spécifiant le comportement de l'opération de copie. Il est possible de créer un masque composé du OU au niveau du bit de deux valeurs ou plus (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, le mécanisme de copie de secours 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é, cette méthode n'est pas prise en charge sous Windows

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

Paramètres d'appel :

  • path: String, le fichier sur lequel spécifier l'opération
  • mode: Entier, spécifie les droits d'accès définis

lchmod

Définissez l'autorisation d'accès du fichier spécifié. Si le fichier est un lien symbolique, l'autorisation de pointer vers le fichier ne sera pas modifiée. Il est uniquement disponible sur les plates-formes macOS et BSD.

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

Paramètres d'appel :

  • path: String, le fichier sur lequel spécifier l'opération
  • mode: Entier, spécifie les droits d'accès définis

chown

Définit 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: String, le fichier spécifiant les paramètres
  • uid: Entier, ID utilisateur du propriétaire du fichier
  • gid: Entier, identifiant du groupe du propriétaire du fichier

lchown

Définissez le propriétaire du fichier spécifié. Si le fichier spécifié est un lien symbolique, il ne modifiera pas le propriétaire du fichier vers lequel il pointe. 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: String, le fichier spécifiant les paramètres
  • uid: Entier, ID utilisateur du propriétaire du fichier
  • gid: 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écifie le fichier à interroger

Retourner le résultat :

  • Stat, renvoie les informations de base du fichier

lstat

Interroge les informations de base du fichier spécifié. Contrairement à stat, lorsquepathLorsqu'il s'agit d'une connexion logicielle, les informations de la connexion logicielle seront retournées à la place des informations du fichier pointé

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

Paramètres d'appel :

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

Retourner le résultat :

  • Stat, renvoie les informations de base du fichier

Lire le fichier de lien symbolique 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: Chaîne, spécifiez le fichier de lien symbolique à lire

Retourner le résultat :

  • String, renvoie le nom de fichier pointé par le lien symbolique

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écifie le chemin à lire

Retourner le résultat :

  • String, renvoie le chemin absolu traité

Créer un fichier de lien symbolique

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

Paramètres d'appel :

  • target: Chaîne, fichier cible, peut être un fichier, un répertoire ou un chemin inexistant
  • linkpath: String, le fichier de lien symbolique à créer
  • type: String, le type de lien symbolique à créer, le type optionnel est 'file', 'dir', 'junction', la valeur par défaut est 'file', ce paramètre n'est valide que sous windows, lorsqu'il est 'junction', le cible à créer Le chemin linkpath doit être un chemin absolu, et la cible sera automatiquement convertie en chemin absolu.

truncate

Modifiez la taille du fichier. Si la longueur spécifiée est supérieure à la taille du fichier source, elle sera remplie avec '\0', sinon le contenu du fichier sera perdu.

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

Paramètres d'appel :

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

read

Lire le contenu du fichier selon le descripteur de 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, le résultat de la lecture est écrit dansBufferobjet
  • offset: Entier,Bufferdécalage d'écriture, la valeur par défaut est 0
  • length: Entier, le nombre d'octets à lire dans le fichier, la valeur par défaut est 0
  • position: Entier, la position de lecture du fichier, par défaut la position actuelle du fichier

Retourner le résultat :

  • Integer, le nombre d'octets effectivement lus

fchmod

Selon le descripteur de fichier, changez le mode de fichier. Valable uniquement sur 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, le mode du fichier

fchown

En fonction du descripteur de fichier, modifiez le propriétaire. Valable uniquement sur 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, ID utilisateur
  • gid: Entier, identifiant de groupe

fdatasync

Synchroniser les données sur le disque en fonction des descripteurs de fichiers

1
static fs.fdatasync(Integer fd) async;

Paramètres d'appel :

  • fd: Entier, descripteur de fichier

fsync

Synchroniser les données sur le disque en fonction des descripteurs de fichiers

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écifie le répertoire à interroger

Retourner le résultat :

  • NArray, renvoie un tableau d'informations de fichier pour le répertoire

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

1 2
static NArray fs.readdir(String path, Object opts) async;

Paramètres d'appel :

  • path: String, spécifie le répertoire à interroger
  • opts: Objet, spécifiez les paramètres, temporairement non pris en charge

Retourner le résultat :

  • NArray, renvoie un tableau d'informations de fichier pour le répertoire

openFile

Ouvrir le fichier en lecture, en écriture ou les deux

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

Paramètres d'appel :

  • fname: Chaîne, spécifie le nom du fichier
  • flags: Chaîne, spécifiez le mode d'ouverture du fichier, la valeur par défaut est "r", mode lecture seule

Retourner le résultat :

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

  • 'r' est en lecture seule, génère une erreur si le fichier n'existe pas.
  • 'r+' Mode lecture et écriture, génère une erreur si le fichier n'existe pas.
  • 'w' est en écriture seule, si le fichier n'existe pas, il sera créé automatiquement, et s'il existe, il sera vidé.
  • 'w+' en mode lecture et écriture, le fichier sera créé automatiquement s'il n'existe pas.
  • 'a' Méthode d'ajout en écriture seule, le fichier sera automatiquement créé s'il n'existe pas.
  • 'a+' méthode d'ajout en lecture-écriture, 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: Chaîne, spécifie le nom du fichier
  • flags: Chaîne, spécifiez le mode d'ouverture du fichier, la valeur par défaut est "r", mode lecture seule
  • mode: Entier, lors de la création d'un fichier, spécifiez le mode du fichier, par défaut 0666

Retourner le résultat :

  • 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, génère une erreur si le fichier n'existe pas.
  • 'r+' Mode lecture et écriture, génère une erreur si le fichier n'existe pas.
  • 'w' est en écriture seule, si le fichier n'existe pas, il sera créé automatiquement, et s'il existe, il sera vidé.
  • 'w+' en mode lecture et écriture, le fichier sera créé automatiquement s'il n'existe pas.
  • 'a' Méthode d'ajout en écriture seule, le fichier sera automatiquement créé s'il n'existe pas.
  • 'a+' méthode d'ajout en lecture-écriture, 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 la lecture, l'écriture ou les deux

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

Paramètres d'appel :

  • fname: Chaîne, spécifie le nom du fichier
  • flags: Chaîne, spécifiez le mode d'ouverture du fichier, la valeur par défaut est "r", mode lecture seule

Retourner le résultat :

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

  • 'r' est en lecture seule, génère une erreur si le fichier n'existe pas.
  • 'r+' Mode lecture et écriture, génère une erreur si le fichier n'existe pas.
  • 'w' est en écriture seule, si le fichier n'existe pas, il sera créé automatiquement, et s'il existe, il sera vidé.
  • 'w+' en mode lecture et écriture, le fichier sera créé automatiquement s'il n'existe pas.
  • 'a' Méthode d'ajout en écriture seule, le fichier sera automatiquement créé s'il n'existe pas.
  • 'a+' méthode d'ajout en lecture-écriture, le fichier sera créé automatiquement s'il n'existe pas.

readTextFile

Ouvrir un fichier texte et lire le contenu

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

Paramètres d'appel :

  • fname: Chaîne, spécifie le nom du fichier

Retourner le résultat :

  • String, renvoie le contenu textuel du fichier

readFile

Ouvrez le fichier et lisez le contenu

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

Paramètres d'appel :

  • fname: Chaîne, spécifie le nom du fichier
  • encoding: Chaîne, spécifiez la méthode de décodage, la valeur par défaut n'est pas décodage

Retourner le résultat :

  • Variant, renvoie le contenu textuel du fichier

Ouvrez le fichier et lisez le contenu

1 2
static Variant fs.readFile(String fname, Object options) async;

Paramètres d'appel :

  • fname: Chaîne, spécifie le nom du fichier
  • options: Objet, spécifie les options de lecture

Retourner le résultat :

  • Variant, renvoie le contenu textuel du fichier

Les options prises en charge par options sont les suivantes :

1 2 3
{ "encoding": "utf8" // 指定解码方式,缺省不解码 }

readLines

Ouvrez le fichier, lisez un ensemble de lignes de texte dans un tableau, la fin de ligne est marquée en fonction du réglage de la propriété 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: Chaîne, spécifie le nom du fichier
  • maxlines: Entier, spécifiez le nombre maximum de lignes à lire cette fois, lisez toutes les lignes de texte par défaut

Retourner le résultat :

  • Array, renvoie le tableau de lignes de texte lu, si aucune donnée n'est lisible ou si la connexion est interrompue, un tableau vide

writeTextFile

Créer un fichier texte et écrire le contenu

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

Paramètres d'appel :

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

writeFile

Créer un fichier binaire et écrire le contenu

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

Paramètres d'appel :

  • fname: Chaîne, spécifie le nom du fichier
  • data:Buffer, spécifie les données binaires à écrire

appendFile

Créer un fichier binaire et écrire le contenu

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

Paramètres d'appel :

  • fname: Chaîne, spécifie le nom du fichier
  • data:Buffer, spécifie les données binaires à écrire

setZipFS

d'installationzipmappage de fichiers virtuels

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

Paramètres d'appel :

  • fname: Chaîne, spécifie le chemin de mappage
  • data:Buffer, en spécifiant le mappézipdonnées de fichier

clearZipFS

dégagerzipmappage 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

Regarder un fichier et renvoyer l'objet watcher correspondant

1
static FSWatcher fs.watch(String fname);

Paramètres d'appel :

  • fname: String, spécifie l'objet fichier à surveiller

Retourner le résultat :


Regarder 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écifie l'objet fichier à surveiller
  • callback: Fonction, (evtType: 'change' | 'rename', filename: string) => anyle rappel de traitement lorsque l'objet fichier change

Retourner le résultat :


Regarder 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écifie l'objet fichier à surveiller
  • options: Objet, options de la montre

Retourner le résultat :

Les options prises en charge par options 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 的字符编码 }

Regarder 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écifie l'objet fichier à surveiller
  • options: Objet, options de la montre
  • callback: Fonction, (evtType: 'change' | 'rename', filename: string) => anyle rappel de traitement lorsque l'objet fichier change

Retourner le résultat :

Les options prises en charge par options 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 correspondantStatsWatcherobjet

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

Paramètres d'appel :

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

Retourner le résultat :


Observer un fichier et retourner le correspondantStatsWatcherobjet

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

Paramètres d'appel :

  • fname: String, spécifie l'objet fichier à surveiller
  • options: Objet, options de la montre
  • callback: Fonction, (curStats: Stats, prevStats: Stats) => anyle rappel de traitement lorsque les statistiques de l'objet fichier changent

Retourner le résultat :

Les options prises en charge par options 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 fnameStatsWatcherSupprime les rappels de tous les événements observés dans

1
static fs.unwatchFile(String fname);

Paramètres d'appel :

  • fname: String, spécifie l'objet fichier à surveiller

Retourner le résultat :


De l'observation de fnameStatsWatcherSupprimer le callbackrappel

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

Paramètres d'appel :

  • fname: String, spécifie l'objet fichier à surveiller
  • callback: Fonction, le callback à supprimer

Retourner le résultat :

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

constant

SEEK_SET

Mode de recherche constant, déplacement en position absolue

1
const fs.SEEK_SET = 0;

SEEK_CUR

mode de recherche constant, déplacer vers la position relative de la position actuelle

1
const fs.SEEK_CUR = 1;

SEEK_END

constante du mode de recherche, se déplacer à la position relative de la fin du fichier

1
const fs.SEEK_END = 2;