Modul Basismodul

Modul fs

Modul zur Verarbeitung des Dateisystems

Anweisungen:

1
var fs = require('fs');

Einige Punkte zu beachten:

  • Ausführen von fs.watch(filename)Rückgaben aus einer VererbungEventEmitter Watcher, es unterstützt "change", "changeonly", "renameonly" drei Ereignisse
  • fs.watchFile(target)Und fs.unwatchFile(target)kann weiterhin paarweise verwendet werden
  • fs.watchFile(target) Wird eine geerbte von . zurückgeben EventEmitter von StatsWatcherObjekt, Aufruf fs.unwatchFile(target)entspricht dem Aufrufen von StatsWatcher.close().
  • Da uv auf der Linux-Implementierung fs.watchdie recursiveOption win32 / darwin stabil unterstützt.Sie ​​können immer noch versuchen, nur unter Linux zu verwenden fs.watch('/[path](path.md)/to', { recursive: true }, handler), aber möglicherweise handlerdie Rückrufzeit von Ihren Erwartungen abweichen.

Objekt

constants

Konstantes Objekt des fs-Moduls

1
fs_constants fs.constants;

Statische Funktion

exists

Abfrage, ob die angegebene Datei oder das Verzeichnis existiert

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

Aufrufparameter:

  • path: String, geben Sie den abzufragenden Pfad an

Ergebnis zurückgeben:

  • Boolean, Gibt True zurück, um anzuzeigen, dass die Datei oder das Verzeichnis vorhanden ist

access

Berechtigung des Benutzers für die angegebene Datei abfragen

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

Aufrufparameter:

  • path: String, geben Sie den abzufragenden Pfad an
  • mode: Integer, geben Sie die Abfrageberechtigungen an, der Standardwert ist, ob die Datei vorhanden ist

Hardlink-Datei erstellen, diese Methode wird unter Windows nicht unterstützt

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

Aufrufparameter:

  • oldPath: String, Quelldatei
  • newPath: String, die zu erstellende Datei

Löschen Sie die angegebene Datei

1
static fs.unlink(String path) async;

Aufrufparameter:

  • path: String, geben Sie den zu löschenden Pfad an

mkdir

Erstellen Sie ein Verzeichnis

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

Aufrufparameter:

  • path: String, geben Sie den Namen des zu erstellenden Verzeichnisses an
  • mode: Integer, Dateiberechtigungen angeben, Windows ignoriert diesen Parameter, Standardwert: 0777

Erstellen Sie ein Verzeichnis

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

Aufrufparameter:

  • path: String, geben Sie den Namen des zu erstellenden Verzeichnisses an
  • opt: Objekt, Erstellungsparameter angeben

Der Erstellungsparameter kann die folgenden Werte enthalten:

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

rmdir

Ein Verzeichnis löschen

1
static fs.rmdir(String path) async;

Aufrufparameter:

  • path: String, geben Sie den Namen des zu löschenden Verzeichnisses an

rename

Eine Datei umbenennen

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

Aufrufparameter:

  • from: String, geben Sie die umbenannte Datei an
  • to: String, geben Sie den neuen Dateinamen an, der geändert werden soll

copyFile

src nach dest kopieren. Wenn dest bereits existiert, wird es standardmäßig überschrieben.

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

Aufrufparameter:

  • from: String, geben Sie den Namen der zu kopierenden Quelldatei an
  • to: String, geben Sie den Namen der zu kopierenden Zieldatei an
  • mode: Integer, geben Sie den Modifikator des Kopiervorgangs an, der Standardwert ist 0

mode ist eine optionale ganze Zahl, die das Verhalten des Kopiervorgangs angibt. Sie können eine Maske erstellen, die aus dem bitweisen ODER von zwei oder mehr Werten besteht (wie zfs.constants.COPYFILE_EXCL | fs.constants.COPYFILE_FICLONE).

  • fs.constants.COPYFILE_EXCL-Wenn dest bereits vorhanden ist, schlägt der Kopiervorgang fehl.
  • fs.constants.COPYFILE_FICLONE-Der Kopiervorgang versucht, einen Copy-on-Write-Link zu erstellen. Wenn die Plattform Copy-on-Write nicht unterstützt, wird ein Sicherungskopiemechanismus verwendet.
  • fs.constants.COPYFILE_FICLONE_FORCE-Der Kopiervorgang versucht, einen Copy-on-Write-Link zu erstellen. Wenn die Plattform Copy-on-Write nicht unterstützt, schlägt der Kopiervorgang fehl.

chmod

Legen Sie die Zugriffsberechtigung der angegebenen Datei fest, Windows unterstützt diese Methode nicht

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

Aufrufparameter:

  • path: String, spezifizieren Sie die Operationsdatei
  • mode: Integer, geben Sie die eingestellte Zugriffsberechtigung an

lchmod

Legen Sie die Zugriffsberechtigung für die angegebene Datei fest. Wenn es sich bei der Datei um einen Softlink handelt, wird die Berechtigung für die Datei nicht geändert. Sie ist nur auf Plattformen der macOS- und BSD-Serie verfügbar

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

Aufrufparameter:

  • path: String, spezifizieren Sie die Operationsdatei
  • mode: Integer, geben Sie die eingestellte Zugriffsberechtigung an

chown

Legen Sie den Besitzer der angegebenen Datei fest, Windows unterstützt diese Methode nicht

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

Aufrufparameter:

  • path: String, Datei zum Festlegen von Einstellungen
  • uid: Ganzzahl, Benutzer-ID des Dateibesitzers
  • gid: Ganzzahl, Dateibesitzer-Gruppen-ID

lchown

Legen Sie den Eigentümer der angegebenen Datei fest. Wenn die angegebene Datei ein Softlink ist, wird der Eigentümer der angegebenen Datei nicht geändert. Windows unterstützt diese Methode nicht.

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

Aufrufparameter:

  • path: String, Datei zum Festlegen von Einstellungen
  • uid: Ganzzahl, Benutzer-ID des Dateibesitzers
  • gid: Ganzzahl, Dateibesitzer-Gruppen-ID

stat

Abfrage der Basisinformationen der angegebenen Datei

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

Aufrufparameter:

  • path: String, geben Sie die abzufragende Datei an

Ergebnis zurückgeben:

  • Stat, Gibt die grundlegenden Informationen der Datei zurück

lstat

Abfrage der Basisinformationen der angegebenen Datei Der Unterschied zu stat besteht darin, dass wennpathWenn es sich um einen Softlink handelt, werden die Informationen des Softlinks anstelle der Informationen der angegebenen Datei zurückgegeben

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

Aufrufparameter:

  • path: String, geben Sie die abzufragende Datei an

Ergebnis zurückgeben:

  • Stat, Gibt die grundlegenden Informationen der Datei zurück

Lesen Sie die angegebene weiche Verbindungsdatei, diese Methode wird unter Windows nicht unterstützt

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

Aufrufparameter:

  • path: String, geben Sie die zu lesende Soft-Connection-Datei an

Ergebnis zurückgeben:

  • String, Geben Sie den Dateinamen zurück, auf den der Softlink verweist

realpath

Gibt den absoluten Pfad des angegebenen Pfads zurück, wenn der angegebene Pfad einen relativen Pfad enthält, wird er auch erweitert

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

Aufrufparameter:

  • path: String, geben Sie den zu lesenden Pfad an

Ergebnis zurückgeben:

  • String, Den verarbeiteten absoluten Pfad zurückgeben

Soft-Connection-Datei erstellen

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

Aufrufparameter:

  • target: String, die Zieldatei, die eine Datei, ein Verzeichnis oder ein nicht vorhandener Pfad sein kann
  • linkpath: String, die zu erstellende Softlink-Datei
  • type: String, der Typ der erstellten Soft-Verbindung, die optionalen Typen sind 'file','dir','junction', der Standard ist 'file', dieser Parameter ist nur unter Windows gültig, wenn es 'junction' ist, das Ziel wird erstellt Der Pfad linkpath muss ein absoluter Pfad sein, und das Ziel wird automatisch in einen absoluten Pfad konvertiert.

truncate

Ändern Sie die Dateigröße, wenn die angegebene Länge größer als die Größe der Quelldatei ist, füllen Sie sie mit '\0', sonst geht mehr Dateiinhalt verloren

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

Aufrufparameter:

  • path: String, geben Sie den Pfad der geänderten Datei an
  • len: Integer, geben Sie die Größe der geänderten Datei an

read

Lesen Sie gemäß dem Dateideskriptor den Inhalt der Datei

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

Aufrufparameter:

  • fd: Ganzzahl, Dateideskriptor
  • buffer: Buffer, Lesen Sie das Ergebnis geschrieben Buffer Objekt
  • offset: Ganzzahl, Buffer Schreiboffset, Standard ist 0
  • length: Integer, die Anzahl der aus der Datei gelesenen Bytes, der Standardwert ist 0
  • position: Integer, die Dateileseposition, der Standardwert ist die aktuelle Dateiposition

Ergebnis zurückgeben:

  • Integer, Die Anzahl der tatsächlich gelesenen Bytes

fchmod

Gemäß dem Dateideskriptor wird der Dateimodus geändert. Nur gültig in POSIX-Systemen.

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

Aufrufparameter:

  • fd: Ganzzahl, Dateideskriptor
  • mode: Ganzzahl, Dateimodus

fchown

Gemäß dem Dateideskriptor wird der Besitzer geändert. Nur gültig in POSIX-Systemen.

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

Aufrufparameter:

  • fd: Ganzzahl, Dateideskriptor
  • uid: Ganzzahl, Benutzer-ID
  • gid: Ganzzahl, Gruppen-ID

fdatasync

Synchronisieren Sie die Daten laut Dateideskriptor mit der Festplatte

1
static fs.fdatasync(Integer fd) async;

Aufrufparameter:

  • fd: Ganzzahl, Dateideskriptor

fsync

Synchronisieren Sie die Daten laut Dateideskriptor mit der Festplatte

1
static fs.fsync(Integer fd) async;

Aufrufparameter:

  • fd: Ganzzahl, Dateideskriptor

readdir

Lesen Sie die Dateiinformationen des angegebenen Verzeichnisses

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

Aufrufparameter:

  • path: String, geben Sie das abzufragende Verzeichnis an

Ergebnis zurückgeben:

  • NArray, Gibt das Dateiinformations-Array des Verzeichnisses zurück

openFile

Öffnen Sie die Datei zum gleichzeitigen Lesen, Schreiben oder Lesen und Schreiben

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

Aufrufparameter:

  • fname: String, geben Sie den Dateinamen an
  • flags: String, geben Sie die Methode zum Öffnen der Datei an, die Standardeinstellung ist "r", schreibgeschützt

Ergebnis zurückgeben:

Die unterstützten Methoden von Parameter-Flags sind wie folgt:

  • 'r' ist schreibgeschützt, ein Fehler wird ausgegeben, wenn die Datei nicht existiert.
  • 'r+' Lese- und Schreibmodus, ein Fehler wird ausgegeben, wenn die Datei nicht existiert.
  • 'w' wird nur geschrieben.Wenn die Datei nicht existiert, wird sie automatisch erstellt und wenn sie existiert, wird sie gelöscht.
  • 'w+' Lese- und Schreibmodus, die Datei wird automatisch erstellt, wenn sie nicht existiert.
  • 'a' schreibt nur die hinzufügende Methode, die Datei wird automatisch erstellt, wenn sie nicht existiert.
  • 'a+' Lese-Schreib-Additionsmethode, die Datei wird automatisch erstellt, wenn sie nicht existiert.

open

Dateideskriptor öffnen

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

Aufrufparameter:

  • fname: String, geben Sie den Dateinamen an
  • flags: String, geben Sie die Methode zum Öffnen der Datei an, die Standardeinstellung ist "r", schreibgeschützt
  • mode: Integer, geben Sie beim Erstellen einer Datei den Modus der Datei an, der Standardwert ist 0666

Ergebnis zurückgeben:

  • Integer, Gibt den geöffneten Dateideskriptor zurück

Die unterstützten Methoden von Parameter-Flags sind wie folgt:

  • 'r' ist schreibgeschützt, ein Fehler wird ausgegeben, wenn die Datei nicht existiert.
  • 'r+' Lese- und Schreibmodus, ein Fehler wird ausgegeben, wenn die Datei nicht existiert.
  • 'w' wird nur geschrieben.Wenn die Datei nicht existiert, wird sie automatisch erstellt und wenn sie existiert, wird sie gelöscht.
  • 'w+' Lese- und Schreibmodus, die Datei wird automatisch erstellt, wenn sie nicht existiert.
  • 'a' schreibt nur die hinzufügende Methode, die Datei wird automatisch erstellt, wenn sie nicht existiert.
  • 'a+' Lese-Schreib-Additionsmethode, die Datei wird automatisch erstellt, wenn sie nicht existiert.

close

Dateideskriptor schließen

1
static fs.close(Integer fd) async;

Aufrufparameter:

  • fd: Ganzzahl, Dateideskriptor

openTextStream

Öffnen Sie eine Textdatei zum gleichzeitigen Lesen, Schreiben oder Lesen und Schreiben

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

Aufrufparameter:

  • fname: String, geben Sie den Dateinamen an
  • flags: String, geben Sie die Methode zum Öffnen der Datei an, die Standardeinstellung ist "r", schreibgeschützt

Ergebnis zurückgeben:

Die unterstützten Methoden von Parameter-Flags sind wie folgt:

  • 'r' ist schreibgeschützt, ein Fehler wird ausgegeben, wenn die Datei nicht existiert.
  • 'r+' Lese- und Schreibmodus, ein Fehler wird ausgegeben, wenn die Datei nicht existiert.
  • 'w' wird nur geschrieben.Wenn die Datei nicht existiert, wird sie automatisch erstellt und wenn sie existiert, wird sie gelöscht.
  • 'w+' Lese- und Schreibmodus, die Datei wird automatisch erstellt, wenn sie nicht existiert.
  • 'a' schreibt nur die hinzufügende Methode, die Datei wird automatisch erstellt, wenn sie nicht existiert.
  • 'a+' Lese-Schreib-Additionsmethode, die Datei wird automatisch erstellt, wenn sie nicht existiert.

readTextFile

Öffnen Sie die Textdatei und lesen Sie den Inhalt

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

Aufrufparameter:

  • fname: String, geben Sie den Dateinamen an

Ergebnis zurückgeben:

  • String, Gibt den Textinhalt der Datei zurück

readFile

Öffnen Sie die Binärdatei und lesen Sie den Inhalt

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

Aufrufparameter:

  • fname: String, geben Sie den Dateinamen an
  • encoding: String, geben Sie die Dekodierungsmethode an, die Standardeinstellung ist keine Dekodierung

Ergebnis zurückgeben:

  • Variant, Gibt den Textinhalt der Datei zurück

readLines

Öffnen Sie die Datei und lesen Sie eine Gruppe von Textzeilen in einem Array. Das Zeilenende wird anhand der Einstellung des EOL-Attributs identifiziert. Standardmäßig posix: "\n"; windows: "\r\n"

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

Aufrufparameter:

  • fname: String, geben Sie den Dateinamen an
  • maxlines: Integer, geben Sie die maximale Anzahl der Zeilen an, die dieses Mal gelesen werden, lesen Sie standardmäßig alle Textzeilen

Ergebnis zurückgeben:

  • Array, Gibt das gelesene Textzeilen-Array zurück, wenn keine Daten zum Lesen vorhanden sind oder die Verbindung unterbrochen ist, leeres Array

writeTextFile

Erstellen Sie eine Textdatei und schreiben Sie Inhalte

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

Aufrufparameter:

  • fname: String, geben Sie den Dateinamen an
  • txt: String, geben Sie den zu schreibenden String an

writeFile

Erstellen Sie eine Binärdatei und schreiben Sie den Inhalt

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

Aufrufparameter:

  • fname: String, geben Sie den Dateinamen an
  • data: Buffer, Geben Sie die zu schreibenden Binärdaten an

appendFile

Erstellen Sie eine Binärdatei und schreiben Sie den Inhalt

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

Aufrufparameter:

  • fname: String, geben Sie den Dateinamen an
  • data: Buffer, Geben Sie die zu schreibenden Binärdaten an

setZipFS

erstellen zip Virtuelle Dateizuordnung

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

Aufrufparameter:

  • fname: String, geben Sie den Mapping-Pfad an
  • data: Buffer, Spezifizieren Sie das zugeordnete zip Dateidaten

clearZipFS

Klar zip Virtuelle Dateizuordnung

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

Aufrufparameter:

  • fname: String, geben Sie den Mapping-Pfad an, löschen Sie standardmäßig alle Caches

watch

Beobachten Sie eine Datei und geben Sie das entsprechende Watcher-Objekt zurück

1
static FSWatcher fs.watch(String fname);

Aufrufparameter:

  • fname: String, geben Sie das zu beobachtende Dateiobjekt an

Ergebnis zurückgeben:


Beobachten Sie eine Datei und geben Sie das entsprechende Watcher-Objekt zurück

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

Aufrufparameter:

  • fname: String, geben Sie das zu beobachtende Dateiobjekt an
  • callback: Funktion, (evtType: 'change' | 'rename', filename: string) => anyder Verarbeitungsrückruf, wenn sich das Dateiobjekt ändert

Ergebnis zurückgeben:


Beobachten Sie eine Datei und geben Sie das entsprechende Watcher-Objekt zurück

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

Aufrufparameter:

  • fname: String, geben Sie das zu beobachtende Dateiobjekt an
  • options: Objekt, Beobachtungsoptionen

Ergebnis zurückgeben:

Die unterstützten Optionen sind wie folgt:

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

Beobachten Sie eine Datei und geben Sie das entsprechende Watcher-Objekt zurück

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

Aufrufparameter:

  • fname: String, geben Sie das zu beobachtende Dateiobjekt an
  • options: Objekt, Beobachtungsoptionen
  • callback: Funktion, (evtType: 'change' | 'rename', filename: string) => anyder Verarbeitungsrückruf, wenn sich das Dateiobjekt ändert

Ergebnis zurückgeben:

Die unterstützten Optionen sind wie folgt:

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

watchFile

Beobachten Sie eine Datei und geben Sie die entsprechende zurück StatsWatcher Objekt

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

Aufrufparameter:

  • fname: String, geben Sie das zu beobachtende Dateiobjekt an
  • callback: Funktion, (curStats: Stats, prevStats: Stats) => anyder Verarbeitungsrückruf, wenn sich die Statistiken des Dateiobjekts ändern

Ergebnis zurückgeben:


Beobachten Sie eine Datei und geben Sie die entsprechende zurück StatsWatcher Objekt

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

Aufrufparameter:

  • fname: String, geben Sie das zu beobachtende Dateiobjekt an
  • options: Objekt, Beobachtungsoptionen
  • callback: Funktion, (curStats: Stats, prevStats: Stats) => anyder Verarbeitungsrückruf, wenn sich die Statistiken des Dateiobjekts ändern

Ergebnis zurückgeben:

Die unterstützten Optionen sind wie folgt:

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

unwatchFile

Aus der Beobachtung von fname StatsWatcher Entfernen Sie alle beobachteten Ereignisse im Rückruf

1
static fs.unwatchFile(String fname);

Aufrufparameter:

  • fname: String, geben Sie das zu beobachtende Dateiobjekt an

Ergebnis zurückgeben:


Aus der Beobachtung von fname StatsWatcherDer beobachtete Ereignisrückruf entfernt callbackRückruf

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

Aufrufparameter:

  • fname: String, geben Sie das zu beobachtende Dateiobjekt an
  • callback: Funktion, Rückruf soll entfernt werden

Ergebnis zurückgeben:

Auch wenn der Rückruf nicht mehr geht StatsWatcher Im Rückruf des Beobachtungsereignisses wird kein Fehler gemeldet

Konstante

SEEK_SET

Suchmodus konstant, absolute Position anfahren

1
const fs.SEEK_SET = 0;

SEEK_CUR

Die Suchmoduskonstante, bewegen Sie sich zur relativen Position der aktuellen Position

1
const fs.SEEK_CUR = 1;

SEEK_END

Suchmoduskonstante, zur relativen Position des Endes der Datei bewegen

1
const fs.SEEK_END = 2;