Modulo modulo base

Modulo fs

Modulo di elaborazione del file system

Istruzioni:

1
var fs = require('fs');

Alcuni punti da notare:

  • Esegui fs.watch(filename)ritorni da un'ereditàEventEmitter Watcher, supporta tre eventi "change", "changeonly", "renameonly"
  • fs.watchFile(target)E fs.unwatchFile(target)può ancora essere usato in coppia
  • fs.watchFile(target) Restituirà un ereditato da EventEmitter di StatsWatcherOggetto, chiamata fs.unwatchFile(target)equivalente a chiamare StatsWatcher.close().
  • Poiché uv sull'implementazione Linux, fs.watchle recursiveopzioni win32 / darwin sono un supporto stabile.Puoi comunque provare a provare a utilizzare solo in Linux fs.watch('/[path](path.md)/to', { recursive: true }, handler), ma potresti scoprire che handleril tempo di richiamata differisce dalle tue aspettative

Oggetto

constants

Oggetto costante del modulo fs

1
fs_constants fs.constants;

Funzione statica

exists

Interroga se il file o la directory specificati esiste

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

Parametri di chiamata:

  • path: String, specifica il percorso da interrogare

Risultato di ritorno:

  • Boolean, restituisce True per indicare che il file o la directory esiste

access

Interroga l'autorità dell'utente sul file specificato

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

Parametri di chiamata:

  • path: String, specifica il percorso da interrogare
  • mode: Intero, specifica i permessi della query, il valore predefinito è se il file esiste

Crea un file di collegamento reale, questo metodo non è supportato in Windows

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

Parametri di chiamata:

  • oldPath: Stringa, file sorgente
  • newPath: String, il file da creare

Elimina il file specificato

1
static fs.unlink(String path) async;

Parametri di chiamata:

  • path: String, specifica il percorso da eliminare

mkdir

Crea una directory

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

Parametri di chiamata:

  • path: String, specificare il nome della directory da creare
  • mode: Intero, specifica i permessi del file, Windows ignora questo parametro, valore predefinito: 0777

Crea una directory

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

Parametri di chiamata:

  • path: String, specificare il nome della directory da creare
  • opt: Oggetto, specificare i parametri di creazione

Il parametro di creazione può contenere i seguenti valori:

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

rmdir

Elimina una directory

1
static fs.rmdir(String path) async;

Parametri di chiamata:

  • path: String, specificare il nome della directory da eliminare

rename

Rinominare un file

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

Parametri di chiamata:

  • from: String, specifica il file rinominato
  • to: Stringa, specifica il nuovo nome del file da modificare

copyFile

Copia src in dest. Per impostazione predefinita, se dest esiste già, verrà sovrascritto.

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

Parametri di chiamata:

  • from: String, specifica il nome del file sorgente da copiare
  • to: String, specifica il nome del file di destinazione da copiare
  • mode: Intero, specifica il modificatore dell'operazione di copia, il valore predefinito è 0

mode è un intero facoltativo che specifica il comportamento dell'operazione di copia. È possibile creare una maschera composta dall'OR bit per bit di due o più valori (comefs.constants.COPYFILE_EXCL | fs.constants.COPYFILE_FICLONE).

  • fs.constants.COPYFILE_EXCL-Se dest esiste già, l'operazione di copia avrà esito negativo.
  • fs.constants.COPYFILE_FICLONE-L'operazione di copia tenterà di creare un collegamento copy-on-write. Se la piattaforma non supporta la copia su scrittura, viene utilizzato un meccanismo di copia di backup.
  • fs.constants.COPYFILE_FICLONE_FORCE-L'operazione di copia tenterà di creare un collegamento copy-on-write. Se la piattaforma non supporta la copia su scrittura, l'operazione di copia non riuscirà.

chmod

Imposta l'autorizzazione di accesso del file specificato, Windows non supporta questo metodo

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

Parametri di chiamata:

  • path: Stringa, specifica il file dell'operazione
  • mode: Intero, specificare l'autorità di accesso impostata

lchmod

Imposta l'autorizzazione di accesso del file specificato. Se il file è un collegamento software, l'autorizzazione al file non verrà modificata. È disponibile solo su piattaforme macOS e serie BSD.

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

Parametri di chiamata:

  • path: Stringa, specifica il file dell'operazione
  • mode: Intero, specificare l'autorità di accesso impostata

chown

Imposta il proprietario del file specificato, Windows non supporta questo metodo

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

Parametri di chiamata:

  • path: Stringa, file per specificare le impostazioni
  • uid: Intero, l'ID utente del proprietario del file
  • gid: numero intero, ID gruppo proprietario file

lchown

Imposta il proprietario del file specificato. Se il file specificato è un collegamento software, il proprietario del file puntato non verrà modificato. Windows non supporta questo metodo

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

Parametri di chiamata:

  • path: Stringa, file per specificare le impostazioni
  • uid: Intero, l'ID utente del proprietario del file
  • gid: numero intero, ID gruppo proprietario file

stat

Interroga le informazioni di base del file specificato

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

Parametri di chiamata:

  • path: String, specifica il file da interrogare

Risultato di ritorno:

  • Stat, Restituisce le informazioni di base del file

lstat

Interroga le informazioni di base del file specificato. La differenza da stat è che quandopathQuando si tratta di un collegamento software, verranno restituite le informazioni del collegamento software anziché le informazioni del file puntato

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

Parametri di chiamata:

  • path: String, specifica il file da interrogare

Risultato di ritorno:

  • Stat, Restituisce le informazioni di base del file

Leggi il file di connessione software specificato, questo metodo non è supportato in Windows

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

Parametri di chiamata:

  • path: Stringa, specifica il file di connessione software da leggere

Risultato di ritorno:

  • String, Restituisce il nome del file puntato dal collegamento software

realpath

Restituisce il percorso assoluto del percorso specificato, se il percorso specificato contiene un percorso relativo, verrà anche espanso

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

Parametri di chiamata:

  • path: String, specifica il percorso da leggere

Risultato di ritorno:

  • String, Restituisce il percorso assoluto elaborato

Crea file di connessione software soft

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

Parametri di chiamata:

  • target: String, il file di destinazione, può essere un file, una directory o un percorso che non esiste
  • linkpath: String, il file di collegamento software da creare
  • type: String, il tipo di connessione software creata, i tipi facoltativi sono "file", "dir", "junction", il valore predefinito è "file", questo parametro è valido solo su Windows, quando è "junction", il target verrà creato Il percorso linkpath deve essere un percorso assoluto e il target verrà automaticamente convertito in un percorso assoluto.

truncate

Modifica la dimensione del file, se la lunghezza specificata è maggiore della dimensione del file sorgente, riempilo con '\0', altrimenti il ​​contenuto del file verrà perso

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

Parametri di chiamata:

  • path: String, specifica il percorso del file modificato
  • len: Intero, specifica la dimensione del file modificato

read

Secondo il descrittore di file, leggi il contenuto del file

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

Parametri di chiamata:

  • fd: intero, descrittore di file
  • buffer: Buffer, Leggi il risultato scritto Buffer Oggetto
  • offset: Numero intero, Buffer Scrivi offset, il valore predefinito è 0
  • length: Intero, il numero di byte letti dal file, il valore predefinito è 0
  • position: Intero, la posizione di lettura del file, l'impostazione predefinita è la posizione del file corrente

Risultato di ritorno:

  • Integer, Il numero di byte effettivamente letti

fchmod

In base al descrittore di file, la modalità del file viene modificata. Valido solo nei sistemi POSIX.

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

Parametri di chiamata:

  • fd: intero, descrittore di file
  • mode: Intero, modalità file

fchown

Secondo il descrittore di file, il proprietario è cambiato. Valido solo nei sistemi POSIX.

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

Parametri di chiamata:

  • fd: intero, descrittore di file
  • uid: numero intero, ID utente
  • gid: numero intero, ID gruppo

fdatasync

Secondo il descrittore di file, sincronizza i dati su disco

1
static fs.fdatasync(Integer fd) async;

Parametri di chiamata:

  • fd: intero, descrittore di file

fsync

Secondo il descrittore di file, sincronizza i dati su disco

1
static fs.fsync(Integer fd) async;

Parametri di chiamata:

  • fd: intero, descrittore di file

readdir

Leggi le informazioni sul file della directory specificata

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

Parametri di chiamata:

  • path: String, specifica la directory da interrogare

Risultato di ritorno:

  • NArray, Restituisce l'array di informazioni sul file della directory

openFile

Apri il file per leggere, scrivere o leggere e scrivere contemporaneamente

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

Parametri di chiamata:

  • fname: Stringa, specifica il nome del file
  • flags: String, specifica il metodo di apertura del file, il valore predefinito è "r", di sola lettura

Risultato di ritorno:

I metodi supportati dei flag di parametro sono i seguenti:

  • 'r' è di sola lettura, verrà generato un errore se il file non esiste.
  • 'r+' modalità di lettura e scrittura, verrà generato un errore se il file non esiste.
  • 'w' viene scritto solo Se il file non esiste, verrà creato automaticamente e, se esiste, verrà cancellato.
  • 'w+' modalità di lettura e scrittura, il file verrà creato automaticamente se non esiste.
  • 'a' scrive solo il metodo di aggiunta, il file verrà creato automaticamente se non esiste.
  • 'a+' metodo di aggiunta lettura-scrittura, il file verrà creato automaticamente se non esiste.

open

Apri descrittore di file

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

Parametri di chiamata:

  • fname: Stringa, specifica il nome del file
  • flags: String, specifica il metodo di apertura del file, il valore predefinito è "r", di sola lettura
  • mode: Intero, quando si crea un file, specificare la modalità del file, di default 0666

Risultato di ritorno:

  • Integer, restituisce il descrittore di file aperto open

I metodi supportati dei flag di parametro sono i seguenti:

  • 'r' è di sola lettura, verrà generato un errore se il file non esiste.
  • 'r+' modalità di lettura e scrittura, verrà generato un errore se il file non esiste.
  • 'w' viene scritto solo Se il file non esiste, verrà creato automaticamente e, se esiste, verrà cancellato.
  • 'w+' modalità di lettura e scrittura, il file verrà creato automaticamente se non esiste.
  • 'a' scrive solo il metodo di aggiunta, il file verrà creato automaticamente se non esiste.
  • 'a+' metodo di aggiunta lettura-scrittura, il file verrà creato automaticamente se non esiste.

close

Chiudi descrittore di file

1
static fs.close(Integer fd) async;

Parametri di chiamata:

  • fd: intero, descrittore di file

openTextStream

Apri un file di testo per leggere, scrivere o leggere e scrivere contemporaneamente

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

Parametri di chiamata:

  • fname: Stringa, specifica il nome del file
  • flags: String, specifica il metodo di apertura del file, il valore predefinito è "r", di sola lettura

Risultato di ritorno:

I metodi supportati dei flag di parametro sono i seguenti:

  • 'r' è di sola lettura, verrà generato un errore se il file non esiste.
  • 'r+' modalità di lettura e scrittura, verrà generato un errore se il file non esiste.
  • 'w' viene scritto solo Se il file non esiste, verrà creato automaticamente e, se esiste, verrà cancellato.
  • 'w+' modalità di lettura e scrittura, il file verrà creato automaticamente se non esiste.
  • 'a' scrive solo il metodo di aggiunta, il file verrà creato automaticamente se non esiste.
  • 'a+' metodo di aggiunta lettura-scrittura, il file verrà creato automaticamente se non esiste.

readTextFile

Apri il file di testo e leggi il contenuto

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

Parametri di chiamata:

  • fname: Stringa, specifica il nome del file

Risultato di ritorno:

  • String, Restituisce il contenuto testuale del file

readFile

Apri il file binario e leggi il contenuto

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

Parametri di chiamata:

  • fname: Stringa, specifica il nome del file
  • encoding: Stringa, specifica il metodo di decodifica, l'impostazione predefinita è non decodificare

Risultato di ritorno:

  • Variant, Restituisce il contenuto testuale del file

readLines

Apri il file e leggi un gruppo di righe di testo in un array. La fine della riga è identificata in base all'impostazione dell'attributo EOL. Per impostazione predefinita, posix: "\n"; windows: "\r\n"

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

Parametri di chiamata:

  • fname: Stringa, specifica il nome del file
  • maxlines: Intero, specifica il numero massimo di righe lette questa volta, leggi tutte le righe di testo per impostazione predefinita

Risultato di ritorno:

  • Array, Restituisce l'array di righe di testo letto, se non ci sono dati da leggere o la connessione viene interrotta, un array vuoto

writeTextFile

Crea un file di testo e scrivi il contenuto

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

Parametri di chiamata:

  • fname: Stringa, specifica il nome del file
  • txt: Stringa, specifica la stringa da scrivere

writeFile

Crea un file binario e scrivi il contenuto

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

Parametri di chiamata:

  • fname: Stringa, specifica il nome del file
  • data: Buffer, Specificare i dati binari da scrivere

appendFile

Crea un file binario e scrivi il contenuto

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

Parametri di chiamata:

  • fname: Stringa, specifica il nome del file
  • data: Buffer, Specificare i dati binari da scrivere

setZipFS

Impostare zip Mappatura file virtuale

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

Parametri di chiamata:

  • fname: String, specifica il percorso di mappatura
  • data: Buffer, Specificare il mappato zip Dati file File

clearZipFS

Chiaro zip Mappatura file virtuale

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

Parametri di chiamata:

  • fname: Stringa, specifica il percorso di mappatura, cancella tutte le cache per impostazione predefinita

watch

Osserva un file e restituisci l'oggetto watcher corrispondente

1
static FSWatcher fs.watch(String fname);

Parametri di chiamata:

  • fname: String, specifica l'oggetto file da osservare

Risultato di ritorno:


Osserva un file e restituisci l'oggetto watcher corrispondente

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

Parametri di chiamata:

  • fname: String, specifica l'oggetto file da osservare
  • callback: Funzione, (evtType: 'change' | 'rename', filename: string) => anyil callback di elaborazione quando l'oggetto file cambia

Risultato di ritorno:


Osserva un file e restituisci l'oggetto watcher corrispondente

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

Parametri di chiamata:

  • fname: String, specifica l'oggetto file da osservare
  • options: Oggetto, opzioni di osservazione

Risultato di ritorno:

Le opzioni supportate sono le seguenti:

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

Osserva un file e restituisci l'oggetto watcher corrispondente

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

Parametri di chiamata:

  • fname: String, specifica l'oggetto file da osservare
  • options: Oggetto, opzioni di osservazione
  • callback: Funzione, (evtType: 'change' | 'rename', filename: string) => anyil callback di elaborazione quando l'oggetto file cambia

Risultato di ritorno:

Le opzioni supportate sono le seguenti:

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

watchFile

Osserva un file e restituisci il corrispondente StatsWatcher Oggetto

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

Parametri di chiamata:

  • fname: String, specifica l'oggetto file da osservare
  • callback: Funzione, (curStats: Stats, prevStats: Stats) => anyil callback di elaborazione quando le statistiche dell'oggetto file cambiano

Risultato di ritorno:


Osserva un file e restituisci il corrispondente StatsWatcher Oggetto

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

Parametri di chiamata:

  • fname: String, specifica l'oggetto file da osservare
  • options: Oggetto, opzioni di osservazione
  • callback: Funzione, (curStats: Stats, prevStats: Stats) => anyil callback di elaborazione quando le statistiche dell'oggetto file cambiano

Risultato di ritorno:

Le opzioni supportate sono le seguenti:

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

unwatchFile

Dall'osservazione di fname StatsWatcher Rimuovi tutti gli eventi osservati nella richiamata

1
static fs.unwatchFile(String fname);

Parametri di chiamata:

  • fname: String, specifica l'oggetto file da osservare

Risultato di ritorno:


Dall'osservazione di fname StatsWatcherIl callback dell'evento osservato ha rimosso il callbackcallback

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

Parametri di chiamata:

  • fname: String, specifica l'oggetto file da osservare
  • callback: Funzione, richiamata da rimuovere

Risultato di ritorno:

Anche se la richiamata non è più StatsWatcher Nessun errore verrà segnalato nella richiamata dell'evento di osservazione

costante

SEEK_SET

modalità di ricerca costante, spostamento in posizione assoluta

1
const fs.SEEK_SET = 0;

SEEK_CUR

La modalità di ricerca costante, si sposta alla posizione relativa della posizione corrente

1
const fs.SEEK_CUR = 1;

SEEK_END

modalità di ricerca costante, si sposta alla posizione relativa della fine del file

1
const fs.SEEK_END = 2;