Módulo fs
Módulo de procesamiento del sistema de archivos
Instrucciones:
1var fs = require('fs');
Algunos puntos a tener en cuenta:
- Ejecutar
fs.watch(filename)
devoluciones de una herenciaEventEmitter Observador, admite tres eventos 'cambio', 'solo cambio', 'solo cambio de nombre' fs.watchFile(target)
Yfs.unwatchFile(target)
todavía se puede usar en paresfs.watchFile(target)
Devolverá un heredado de EventEmitter de StatsWatcherObjeto, llamadafs.unwatchFile(target)
equivalente a llamarStatsWatcher.close()
.- Desde uv en la implementación de Linux,
fs.watch
lasrecursive
opciones win32 / darwin son un soporte estable. Aún puede intentar usar solo en Linuxfs.watch('/[path](path.md)/to', { recursive: true }, handler)
, pero puede encontrar quehandler
el tiempo de devolución de llamada difiere de sus expectativas
Objeto
constants
Objeto constante del módulo fs
1fs_constants fs.constants;
Función estática
exists
Consultar si existe el archivo o directorio especificado
1static Boolean fs.exists(String path) async;
Parámetros de llamada:
- path: Cadena, especifique la ruta a consultar
Devolver resultado:
- Boolean, Devuelve True para indicar que el archivo o directorio existe
access
Consultar la autoridad del usuario sobre el archivo especificado
1
2static fs.access(String path,
Integer mode = 0) async;
Parámetros de llamada:
- path: Cadena, especifique la ruta a consultar
- mode: Entero, especifique los permisos de consulta, el valor predeterminado es si el archivo existe
link
Cree un archivo de vínculo físico, este método no es compatible con Windows
1
2static fs.link(String oldPath,
String newPath) async;
Parámetros de llamada:
- oldPath: Cadena, archivo de origen
- newPath: String, el archivo que se creará
unlink
Eliminar el archivo especificado
1static fs.unlink(String path) async;
Parámetros de llamada:
- path: Cadena, especifique la ruta a eliminar
mkdir
Crea un directorio
1
2static fs.mkdir(String path,
Integer mode = 0777) async;
Parámetros de llamada:
- path: Cadena, especifique el nombre del directorio que se creará
- mode: Entero, especificar permisos de archivo, Windows ignora este parámetro, valor predeterminado: 0777
Crea un directorio
1
2static fs.mkdir(String path,
Object opt) async;
Parámetros de llamada:
- path: Cadena, especifique el nombre del directorio que se creará
- opt: Objeto, especificar parámetros de creación
El parámetro de creación puede contener los siguientes valores:
1
2
3
4{
recursive: false, // 指定是否父目录不存在是是否自动创建,默认值: false
mode: 0777 // 指定文件权限,Windows 忽略此参数,默认值: 0777
}
rmdir
Eliminar un directorio
1static fs.rmdir(String path) async;
Parámetros de llamada:
- path: Cadena, especifique el nombre del directorio que se eliminará
rename
Cambiar el nombre de un archivo
1
2static fs.rename(String from,
String to) async;
Parámetros de llamada:
- from: Cadena, especifique el archivo renombrado
- to: Cadena, especifique el nuevo nombre de archivo que se va a modificar
copyFile
Copie src en dest. De forma predeterminada, si dest ya existe, se sobrescribirá.
1
2
3static fs.copyFile(String from,
String to,
Integer mode = 0) async;
Parámetros de llamada:
- from: Cadena, especifique el nombre del archivo fuente que se copiará
- to: Cadena, especifique el nombre del archivo de destino que se copiará
- mode: Entero, especifique el modificador de la operación de copia, el valor predeterminado es 0
mode es un entero opcional que especifica el comportamiento de la operación de copia. Puede crear una máscara que consista en el bit a bit OR de dos o más valores (comofs.constants.COPYFILE_EXCL | fs.constants.COPYFILE_FICLONE).
- fs.constants.COPYFILE_EXCL: si dest ya existe, la operación de copia fallará.
- fs.constants.COPYFILE_FICLONE: la operación de copia intentará crear un enlace de copia al escribir. Si la plataforma no admite copia en escritura, se utiliza un mecanismo de copia de seguridad.
- fs.constants.COPYFILE_FICLONE_FORCE: la operación de copia intentará crear un enlace de copia al escribir. Si la plataforma no admite la copia en escritura, la operación de copia fallará.
chmod
Establezca el permiso de acceso del archivo especificado, Windows no admite este método
1
2static fs.chmod(String path,
Integer mode) async;
Parámetros de llamada:
- path: Cadena, especifique el archivo de operación
- mode: Entero, especifique la autoridad de acceso establecida
lchmod
Establezca el permiso de acceso del archivo especificado. Si el archivo es un enlace suave, el permiso del archivo no se cambiará. Solo está disponible en las plataformas de las series macOS y BSD
1
2static fs.lchmod(String path,
Integer mode) async;
Parámetros de llamada:
- path: Cadena, especifique el archivo de operación
- mode: Entero, especifique la autoridad de acceso establecida
chown
Establecer el propietario del archivo especificado, Windows no admite este método
1
2
3static fs.chown(String path,
Integer uid,
Integer gid) async;
Parámetros de llamada:
- path: Cadena, archivo para especificar configuraciones
- uid: Número entero, ID de usuario del propietario del archivo
- gid: Número entero, ID de grupo del propietario del archivo
lchown
Establece el propietario del archivo especificado. Si el archivo especificado es un vínculo suave, el propietario del archivo señalado no se cambiará. Windows no admite este método
1
2
3static fs.lchown(String path,
Integer uid,
Integer gid) async;
Parámetros de llamada:
- path: Cadena, archivo para especificar configuraciones
- uid: Número entero, ID de usuario del propietario del archivo
- gid: Número entero, ID de grupo del propietario del archivo
stat
Consultar la información básica del archivo especificado
1static Stat fs.stat(String path) async;
Parámetros de llamada:
- path: Cadena, especifique el archivo a consultar
Devolver resultado:
- Stat, Devuelve la información básica del archivo
lstat
Consulta la información básica del archivo especificado. La diferencia con las estadísticas es que cuandopathCuando es un enlace suave, se devolverá la información del enlace suave en lugar de la información del archivo señalado.
1static Stat fs.lstat(String path) async;
Parámetros de llamada:
- path: Cadena, especifique el archivo a consultar
Devolver resultado:
- Stat, Devuelve la información básica del archivo
readlink
Lea el archivo de conexión suave especificado, este método no es compatible con Windows
1static String fs.readlink(String path) async;
Parámetros de llamada:
- path: Cadena, especifique el archivo de conexión suave que se leerá
Devolver resultado:
- String, Devuelve el nombre del archivo al que apunta el enlace suave
realpath
Devuelve la ruta absoluta de la ruta especificada, si la ruta especificada contiene una ruta relativa, también se expandirá
1static String fs.realpath(String path) async;
Parámetros de llamada:
- path: Cadena, especifique la ruta para leer
Devolver resultado:
- String, Devuelve la ruta absoluta procesada
symlink
Crear archivo de conexión suave
1
2
3static fs.symlink(String target,
String linkpath,
String type = "file") async;
Parámetros de llamada:
- target: Cadena, el archivo de destino, que puede ser un archivo, un directorio o una ruta que no existe
- linkpath: String, el archivo de enlace suave que se creará
- type: Cadena, el tipo de conexión suave creada, los tipos opcionales son 'archivo', 'dir', 'unión', el valor predeterminado es 'archivo', este parámetro solo es válido en Windows, cuando es 'unión', el objetivo se creará La ruta linkpath debe ser una ruta absoluta, y el destino se convertirá automáticamente en una ruta absoluta.
truncate
Modifique el tamaño del archivo, si la longitud especificada es mayor que el tamaño del archivo de origen, rellénelo con '\ 0', de lo contrario se perderá más contenido del archivo
1
2static fs.truncate(String path,
Integer len) async;
Parámetros de llamada:
- path: Cadena, especifique la ruta del archivo modificado
- len: Entero, especifique el tamaño del archivo modificado
read
Según el descriptor del archivo, lea el contenido del archivo
1
2
3
4
5static Integer fs.read(Integer fd,
Buffer buffer,
Integer offset = 0,
Integer length = 0,
Integer position = -1) async;
Parámetros de llamada:
- fd: Entero, descriptor de archivo
- buffer: Buffer, Leer el resultado escrito Buffer Objeto
- offset: Entero, Buffer Desplazamiento de escritura, el valor predeterminado es 0
- length: Entero, el número de bytes leídos del archivo, el valor predeterminado es 0
- position: Entero, la posición de lectura del archivo, el valor predeterminado es la posición actual del archivo
Devolver resultado:
- Integer, La cantidad de bytes realmente leídos
fchmod
Según el descriptor de archivo, se cambia el modo de archivo. Solo válido en sistemas POSIX.
1
2static fs.fchmod(Integer fd,
Integer mode) async;
Parámetros de llamada:
- fd: Entero, descriptor de archivo
- mode: Entero, modo de archivo
fchown
Según el descriptor del archivo, se cambia el propietario. Solo válido en sistemas POSIX.
1
2
3static fs.fchown(Integer fd,
Integer uid,
Integer gid) async;
Parámetros de llamada:
- fd: Entero, descriptor de archivo
- uid: Entero, ID de usuario
- gid: Número entero, identificación de grupo
fdatasync
Según el descriptor de archivo, sincronice los datos en el disco
1static fs.fdatasync(Integer fd) async;
Parámetros de llamada:
- fd: Entero, descriptor de archivo
fsync
Según el descriptor de archivo, sincronice los datos en el disco
1static fs.fsync(Integer fd) async;
Parámetros de llamada:
- fd: Entero, descriptor de archivo
readdir
Leer la información del archivo del directorio especificado
1static NArray fs.readdir(String path) async;
Parámetros de llamada:
- path: Cadena, especifique el directorio a consultar
Devolver resultado:
- NArray, Devuelve la matriz de información de archivo del directorio
openFile
Abra el archivo para leer, escribir o leer y escribir al mismo tiempo
1
2static SeekableStream fs.openFile(String fname,
String flags = "r") async;
Parámetros de llamada:
- fname: Cadena, especifique el nombre del archivo
- flags: Cadena, especifique el método de apertura del archivo, el valor predeterminado es "r", solo lectura
Devolver resultado:
- SeekableStream, Devuelve el objeto de archivo abierto
Los métodos admitidos de banderas de parámetros son los siguientes:
- 'r' es de solo lectura, se generará un error si el archivo no existe.
- 'r +' modo de lectura y escritura, se generará un error si el archivo no existe.
- Sólo se escribe "w". Si el archivo no existe, se creará automáticamente y, si existe, se borrará.
- Modo de lectura y escritura 'w +', el archivo se creará automáticamente si no existe.
- 'a' solo escribe el método de adición, el archivo se creará automáticamente si no existe.
- 'a +' método de adición de lectura-escritura, el archivo se creará automáticamente si no existe.
open
Descriptor de archivo abierto
1
2
3static Integer fs.open(String fname,
String flags = "r",
Integer mode = 0666) async;
Parámetros de llamada:
- fname: Cadena, especifique el nombre del archivo
- flags: Cadena, especifique el método de apertura del archivo, el valor predeterminado es "r", solo lectura
- mode: Entero, al crear un archivo, especifique el modo del archivo, el valor predeterminado es 0666
Devolver resultado:
- Integer, Devuelve el descriptor de archivo abierto
Los métodos admitidos de banderas de parámetros son los siguientes:
- 'r' es de solo lectura, se generará un error si el archivo no existe.
- 'r +' modo de lectura y escritura, se generará un error si el archivo no existe.
- Sólo se escribe "w". Si el archivo no existe, se creará automáticamente y, si existe, se borrará.
- Modo de lectura y escritura 'w +', el archivo se creará automáticamente si no existe.
- 'a' solo escribe el método de adición, el archivo se creará automáticamente si no existe.
- 'a +' método de adición de lectura-escritura, el archivo se creará automáticamente si no existe.
close
Cerrar descriptor de archivo
1static fs.close(Integer fd) async;
Parámetros de llamada:
- fd: Entero, descriptor de archivo
openTextStream
Abra un archivo de texto para leer, escribir o leer y escribir al mismo tiempo
1
2static BufferedStream fs.openTextStream(String fname,
String flags = "r") async;
Parámetros de llamada:
- fname: Cadena, especifique el nombre del archivo
- flags: Cadena, especifique el método de apertura del archivo, el valor predeterminado es "r", solo lectura
Devolver resultado:
- BufferedStream, Devuelve el objeto de archivo abierto
Los métodos admitidos de banderas de parámetros son los siguientes:
- 'r' es de solo lectura, se generará un error si el archivo no existe.
- 'r +' modo de lectura y escritura, se generará un error si el archivo no existe.
- Sólo se escribe "w". Si el archivo no existe, se creará automáticamente y, si existe, se borrará.
- Modo de lectura y escritura 'w +', el archivo se creará automáticamente si no existe.
- 'a' solo escribe el método de adición, el archivo se creará automáticamente si no existe.
- 'a +' método de adición de lectura-escritura, el archivo se creará automáticamente si no existe.
readTextFile
Abra el archivo de texto y lea el contenido.
1static String fs.readTextFile(String fname) async;
Parámetros de llamada:
- fname: Cadena, especifique el nombre del archivo
Devolver resultado:
- String, Devuelve el contenido de texto del archivo.
readFile
Abra el archivo binario y lea el contenido.
1
2static Variant fs.readFile(String fname,
String encoding = "") async;
Parámetros de llamada:
- fname: Cadena, especifique el nombre del archivo
- encoding: Cadena, especifique el método de decodificación, el valor predeterminado es no decodificar
Devolver resultado:
- Variant, Devuelve el contenido de texto del archivo.
readLines
Abra el archivo y lea un grupo de líneas de texto en una matriz. El final de la línea se identifica según la configuración del atributo EOL. De forma predeterminada, posix: "\ n"; windows: "\ r \ n"
1
2static Array fs.readLines(String fname,
Integer maxlines = -1);
Parámetros de llamada:
- fname: Cadena, especifique el nombre del archivo
- maxlines: Entero, especifique el número máximo de líneas leídas esta vez, lea todas las líneas de texto por defecto
Devolver resultado:
- Array, Devuelve la matriz de líneas de texto leído, si no hay datos para leer o la conexión se interrumpe, matriz vacía
writeTextFile
Crea un archivo de texto y escribe contenido
1
2static fs.writeTextFile(String fname,
String txt) async;
Parámetros de llamada:
- fname: Cadena, especifique el nombre del archivo
- txt: Cadena, especifique la cadena a escribir
writeFile
Crea un archivo binario y escribe contenido
1
2static fs.writeFile(String fname,
Buffer data) async;
Parámetros de llamada:
- fname: Cadena, especifique el nombre del archivo
- data: Buffer, Especifique los datos binarios que se escribirán
appendFile
Crea un archivo binario y escribe contenido
1
2static fs.appendFile(String fname,
Buffer data) async;
Parámetros de llamada:
- fname: Cadena, especifique el nombre del archivo
- data: Buffer, Especifique los datos binarios que se escribirán
setZipFS
configurar zip Mapeo de archivos virtuales
1
2static fs.setZipFS(String fname,
Buffer data);
Parámetros de llamada:
- fname: Cadena, especifique la ruta de mapeo
- data: Buffer, Especifique el mapeado zip Datos de archivo
clearZipFS
Claro zip Mapeo de archivos virtuales
1static fs.clearZipFS(String fname = "");
Parámetros de llamada:
- fname: Cadena, especifique la ruta de mapeo, borre todas las cachés de forma predeterminada
watch
Observa un archivo y devuelve el objeto de observador correspondiente.
1static FSWatcher fs.watch(String fname);
Parámetros de llamada:
- fname: Cadena, especifique el objeto de archivo a observar
Devolver resultado:
Observa un archivo y devuelve el objeto de observador correspondiente.
1
2static FSWatcher fs.watch(String fname,
Function callback);
Parámetros de llamada:
- fname: Cadena, especifique el objeto de archivo a observar
- callback: Función,
(evtType: 'change' | 'rename', filename: string) => any
la devolución de llamada de procesamiento cuando cambia el objeto de archivo
Devolver resultado:
Observa un archivo y devuelve el objeto de observador correspondiente.
1
2static FSWatcher fs.watch(String fname,
Object options);
Parámetros de llamada:
- fname: Cadena, especifique el objeto de archivo a observar
- options: Objeto, opciones de observación
Devolver resultado:
Las opciones admitidas son las siguientes:
1
2
3
4
5{
"persistent": true, // {boolean} default: true 是否只要目标文件还在被观察, 进程就不退出
"recursive": false, // {boolean} default: false 对于 fname 为文件夹的情况, 是否递归地观察其下所有的子目录
"encoding": "utf8", // {enum} default: 'utf8' 指定解析传入的 fname 的字符编码
}
Observa un archivo y devuelve el objeto de observador correspondiente.
1
2
3static FSWatcher fs.watch(String fname,
Object options,
Function callback);
Parámetros de llamada:
- fname: Cadena, especifique el objeto de archivo a observar
- options: Objeto, opciones de observación
- callback: Función,
(evtType: 'change' | 'rename', filename: string) => any
la devolución de llamada de procesamiento cuando cambia el objeto de archivo
Devolver resultado:
Las opciones admitidas son las siguientes:
1
2
3
4
5{
"persistent": true, // {boolean} default: true 是否只要目标文件还在被观察, 进程就不退出
"recursive": false, // {boolean} default: false 对于 fname 为文件夹的情况, 是否递归地观察其下所有的子目录
"encoding": "utf8", // {enum} default: 'utf8' 指定解析传入的 fname 的字符编码
}
watchFile
Observar un archivo y devolver el correspondiente StatsWatcher Objeto
1
2static StatsWatcher fs.watchFile(String fname,
Function callback);
Parámetros de llamada:
- fname: Cadena, especifique el objeto de archivo a observar
- callback: Función,
(curStats: Stats, prevStats: Stats) => any
la devolución de llamada de procesamiento cuando cambian las estadísticas del objeto de archivo
Devolver resultado:
- StatsWatcher, StatsWatcher Objeto
Observar un archivo y devolver el correspondiente StatsWatcher Objeto
1
2
3static StatsWatcher fs.watchFile(String fname,
Object options,
Function callback);
Parámetros de llamada:
- fname: Cadena, especifique el objeto de archivo a observar
- options: Objeto, opciones de observación
- callback: Función,
(curStats: Stats, prevStats: Stats) => any
la devolución de llamada de procesamiento cuando cambian las estadísticas del objeto de archivo
Devolver resultado:
- StatsWatcher, StatsWatcher Objeto
Las opciones admitidas son las siguientes:
1
2
3
4
5{
"persistent": true, // {boolean} default: true 是否只要目标文件还在被观察, 进程就不退出
"recursive": false, // {boolean} default: false 对于 fname 为文件夹的情况, 是否递归地观察其下所有的子目录
"encoding": "utf8", // {enum} default: 'utf8' 指定解析传入的 fname 的字符编码
}
unwatchFile
De la observación de fname StatsWatcher Eliminar todos los eventos observados en la devolución de llamada
1static fs.unwatchFile(String fname);
Parámetros de llamada:
- fname: Cadena, especifique el objeto de archivo a observar
Devolver resultado:
- StatsWatcher Objeto
De la observación de fname StatsWatcherLa devolución de callback
llamada del evento observado eliminó la devolución de llamada
1
2static fs.unwatchFile(String fname,
Function callback);
Parámetros de llamada:
- fname: Cadena, especifique el objeto de archivo a observar
- callback: Función, devolución de llamada que se eliminará
Devolver resultado:
- StatsWatcher Objeto
Incluso si la devolución de llamada ya no es StatsWatcher No se informará ningún error en la devolución de llamada del evento de observación
constante
SEEK_SET
modo de búsqueda constante, mover a la posición absoluta
1const fs.SEEK_SET = 0;
SEEK_CUR
La constante del modo de búsqueda, se mueve a la posición relativa de la posición actual
1const fs.SEEK_CUR = 1;
SEEK_END
modo de búsqueda constante, moverse a la posición relativa del final del archivo
1const fs.SEEK_END = 2;