Módulo módulo básico

Módulo fs

Módulo de procesamiento del sistema de archivos

Instrucciones:

1
var 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)Y fs.unwatchFile(target)todavía se puede usar en pares
  • fs.watchFile(target) Devolverá un heredado de EventEmitter de StatsWatcherObjeto, llamada fs.unwatchFile(target)equivalente a llamar StatsWatcher.close().
  • Desde uv en la implementación de Linux, fs.watchlas recursiveopciones win32 / darwin son un soporte estable. Aún puede intentar usar solo en Linux fs.watch('/[path](path.md)/to', { recursive: true }, handler), pero puede encontrar que handlerel tiempo de devolución de llamada difiere de sus expectativas

Objeto

constants

Objeto constante del módulo fs

1
fs_constants fs.constants;

Función estática

exists

Consultar si existe el archivo o directorio especificado

1
static 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 2
static 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

Cree un archivo de vínculo físico, este método no es compatible con Windows

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

Parámetros de llamada:

  • oldPath: Cadena, archivo de origen
  • newPath: String, el archivo que se creará

Eliminar el archivo especificado

1
static fs.unlink(String path) async;

Parámetros de llamada:

  • path: Cadena, especifique la ruta a eliminar

mkdir

Crea un directorio

1 2
static 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 2
static 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

1
static 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 2
static 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 3
static 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 2
static 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 plataformas macOS y de las series BSD.

1 2
static 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 3
static fs.chown(String path, Integer uid, Integer gid) async;

Parámetros de llamada:

  • path: Cadena, archivo para especificar configuraciones
  • uid: Entero, el 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 3
static fs.lchown(String path, Integer uid, Integer gid) async;

Parámetros de llamada:

  • path: Cadena, archivo para especificar configuraciones
  • uid: Entero, el 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

1
static 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.

1
static 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

Lea el archivo de conexión suave especificado, este método no es compatible con Windows

1
static 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á

1
static 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

Crear archivo de conexión suave

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

Parámetros de llamada:

  • target: Cadena, el archivo de destino, 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 2
static 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 5
static 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 2
static 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 3
static 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

1
static 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

1
static fs.fsync(Integer fd) async;

Parámetros de llamada:

  • fd: Entero, descriptor de archivo

readdir

Leer la información del archivo del directorio especificado

1
static 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 2
static 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:

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 3
static 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, por defecto 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

1
static 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 2
static 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:

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.

1
static 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 2
static 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 2
static 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, una matriz vacía

writeTextFile

Crea un archivo de texto y escribe contenido

1 2
static 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 2
static 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 2
static 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 2
static 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

1
static 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.

1
static 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 2
static 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) => anyla 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 2
static 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 3
static 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) => anyla 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 2
static 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) => anyla devolución de llamada de procesamiento cuando cambian las estadísticas del objeto de archivo

Devolver resultado:


Observar un archivo y devolver el correspondiente StatsWatcher Objeto

1 2 3
static 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) => anyla devolución de llamada de procesamiento cuando cambian las estadísticas del 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 的字符编码 }

unwatchFile

De la observación de fname StatsWatcher Eliminar todos los eventos observados en la devolución de llamada

1
static fs.unwatchFile(String fname);

Parámetros de llamada:

  • fname: Cadena, especifique el objeto de archivo a observar

Devolver resultado:


De la observación de fname StatsWatcherLa devolución de callbackllamada del evento observado eliminó la devolución de llamada

1 2
static 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:

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

1
const 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

1
const fs.SEEK_CUR = 1;

SEEK_END

modo de búsqueda constante, moverse a la posición relativa del final del archivo

1
const fs.SEEK_END = 2;