Modul fs
Modul zur Verarbeitung des Dateisystems
Anweisungen:
1var 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)
Undfs.unwatchFile(target)
kann weiterhin paarweise verwendet werdenfs.watchFile(target)
Wird eine geerbte von . zurückgeben EventEmitter von StatsWatcherObjekt, Aufruffs.unwatchFile(target)
entspricht dem Aufrufen vonStatsWatcher.close()
.- Da uv auf der Linux-Implementierung
fs.watch
dierecursive
Option win32 / darwin stabil unterstützt.Sie können immer noch versuchen, nur unter Linux zu verwendenfs.watch('/[path](path.md)/to', { recursive: true }, handler)
, aber möglicherweisehandler
die Rückrufzeit von Ihren Erwartungen abweichen.
Objekt
constants
Konstantes Objekt des fs-Moduls
1fs_constants fs.constants;
Statische Funktion
exists
Abfrage, ob die angegebene Datei oder das Verzeichnis existiert
1static 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
2static 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
link
Hardlink-Datei erstellen, diese Methode wird unter Windows nicht unterstützt
1
2static fs.link(String oldPath,
String newPath) async;
Aufrufparameter:
- oldPath: String, Quelldatei
- newPath: String, die zu erstellende Datei
unlink
Löschen Sie die angegebene Datei
1static fs.unlink(String path) async;
Aufrufparameter:
- path: String, geben Sie den zu löschenden Pfad an
mkdir
Erstellen Sie ein Verzeichnis
1
2static 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
2static 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
1static fs.rmdir(String path) async;
Aufrufparameter:
- path: String, geben Sie den Namen des zu löschenden Verzeichnisses an
rename
Eine Datei umbenennen
1
2static 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
3static 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
2static 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
2static 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
3static 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
3static 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
1static 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
1static 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
readlink
Lesen Sie die angegebene weiche Verbindungsdatei, diese Methode wird unter Windows nicht unterstützt
1static 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
1static 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
symlink
Soft-Connection-Datei erstellen
1
2
3static 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
2static 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
5static 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
2static 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
3static 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
1static fs.fdatasync(Integer fd) async;
Aufrufparameter:
- fd: Ganzzahl, Dateideskriptor
fsync
Synchronisieren Sie die Daten laut Dateideskriptor mit der Festplatte
1static fs.fsync(Integer fd) async;
Aufrufparameter:
- fd: Ganzzahl, Dateideskriptor
readdir
Lesen Sie die Dateiinformationen des angegebenen Verzeichnisses
1static 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
2static 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:
- SeekableStream, Das geöffnete Dateiobjekt 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
3static 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
1static fs.close(Integer fd) async;
Aufrufparameter:
- fd: Ganzzahl, Dateideskriptor
openTextStream
Öffnen Sie eine Textdatei zum gleichzeitigen Lesen, Schreiben oder Lesen und Schreiben
1
2static 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:
- BufferedStream, Das geöffnete Dateiobjekt 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
1static 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
2static 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
2static 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
2static 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
2static 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
2static 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
2static 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
1static 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
1static 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
2static FSWatcher fs.watch(String fname,
Function callback);
Aufrufparameter:
- fname: String, geben Sie das zu beobachtende Dateiobjekt an
- callback: Funktion,
(evtType: 'change' | 'rename', filename: string) => any
der Verarbeitungsrückruf, wenn sich das Dateiobjekt ändert
Ergebnis zurückgeben:
Beobachten Sie eine Datei und geben Sie das entsprechende Watcher-Objekt zurück
1
2static 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
3static 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) => any
der 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
2static StatsWatcher fs.watchFile(String fname,
Function callback);
Aufrufparameter:
- fname: String, geben Sie das zu beobachtende Dateiobjekt an
- callback: Funktion,
(curStats: Stats, prevStats: Stats) => any
der Verarbeitungsrückruf, wenn sich die Statistiken des Dateiobjekts ändern
Ergebnis zurückgeben:
- StatsWatcher, StatsWatcher Objekt
Beobachten Sie eine Datei und geben Sie die entsprechende zurück StatsWatcher Objekt
1
2
3static 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) => any
der Verarbeitungsrückruf, wenn sich die Statistiken des Dateiobjekts ändern
Ergebnis zurückgeben:
- StatsWatcher, StatsWatcher Objekt
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
1static fs.unwatchFile(String fname);
Aufrufparameter:
- fname: String, geben Sie das zu beobachtende Dateiobjekt an
Ergebnis zurückgeben:
- StatsWatcher Objekt
Aus der Beobachtung von fname StatsWatcherDer beobachtete Ereignisrückruf entfernt callback
Rückruf
1
2static 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:
- StatsWatcher Objekt
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
1const fs.SEEK_SET = 0;
SEEK_CUR
Die Suchmoduskonstante, bewegen Sie sich zur relativen Position der aktuellen Position
1const fs.SEEK_CUR = 1;
SEEK_END
Suchmoduskonstante, zur relativen Position des Endes der Datei bewegen
1const fs.SEEK_END = 2;