Node.js sistema de archivos
El módulo de sistema de archivos de Node.js (fsmódulo) proporciona una API rica para leer, escribir, eliminar archivos y realizar otras operaciones del sistema de archivos.
El módulo fs admite tanto métodos síncronos como asíncronos, lo que permite a los desarrolladores elegir la forma adecuada de manejar las operaciones de archivos según sus necesidades específicas.
Importar el módulo fs
Primero, necesitas importar el módulo fs:
var fs = require("fs")
Asíncrono y síncrono
Los métodos del módulo de sistema de archivos de Node.js (módulo fs) tienen versiones asíncronas y síncronas. Por ejemplo, la función para leer el contenido de un archivo tiene fs.readFile() asíncrono y fs.readFileSync() síncrono.
En los métodos asíncronos, el último parámetro es la función de callback, y el primer parámetro de la función de callback contiene la información de error.
Se recomienda usar métodos asíncronos; en comparación con los síncronos, los métodos asíncronos tienen mayor rendimiento, son más rápidos y no bloquean.
Ejemplo
Crea el archivo example.txt, con el siguiente contenido:
Ejemplo官网地址:www.example.com 文件读取实例
Crea el archivo file.js, con el siguiente código:
Ejemplo
// Lectura asíncrona
fs.readFile('input.txt', function (err, data) {
if (err) {
return console.error(err);
}
console.log("Lectura asíncrona: " + data.toString());
});
// Lectura síncrona
var data = fs.readFileSync('example.txt');
console.log("Lectura síncrona: " + data.toString());
console.log("El programa ha terminado.");
El resultado de ejecutar el código anterior es el siguiente:
$ node file.js 同步读取: Ejemplo官网地址:www.example.com 文件读取实例 程序执行完毕。 异步读取: Ejemplo官网地址:www.example.com 文件读取实例
Escribir en un archivo
Escritura asíncrona en archivo:
fs.writeFile('example.txt', 'Hello, World!', (err) => {
if (err) {
console.error('Error writing file:', err);
return;
}
console.log('File written successfully');
});
Escritura síncrona en archivo:
try {
fs.writeFileSync('example.txt', 'Hello, World!');
console.log('File written successfully');
} catch (err) {
console.error('Error writing file:', err);
}
Añadir contenido a un archivo
Añadir contenido de forma asíncrona:
fs.appendFile('example.txt', '\nAppending some text', (err) => {
if (err) {
console.error('Error appending to file:', err);
return;
}
console.log('Text appended successfully');
});
Añadir contenido de forma síncrona:
try {
fs.appendFileSync('example.txt', '\nAppending some text');
console.log('Text appended successfully');
} catch (err) {
console.error('Error appending to file:', err);
}
Eliminar un archivo
Eliminación asíncrona de archivo:
fs.unlink('example.txt', (err) => {
if (err) {
console.error('Error deleting file:', err);
return;
}
console.log('File deleted successfully');
});
Eliminación síncrona de archivo:
try {
fs.unlinkSync('example.txt');
console.log('File deleted successfully');
} catch (err) {
console.error('Error deleting file:', err);
}
Crear un directorio
Creación asíncrona de directorio:
fs.mkdir('new_directory', (err) => {
if (err) {
console.error('Error creating directory:', err);
return;
}
console.log('Directory created successfully');
});
Creación síncrona de directorio:
try {
fs.mkdirSync('new_directory');
console.log('Directory created successfully');
} catch (err) {
console.error('Error creating directory:', err);
}
Leer el contenido de un directorio
Lectura asíncrona del contenido de un directorio:
fs.readdir('new_directory', (err, files) => {
if (err) {
console.error('Error reading directory:', err);
return;
}
console.log('Directory contents:', files);
});
Lectura síncrona del contenido de un directorio:
try {
const files = fs.readdirSync('new_directory');
console.log('Directory contents:', files);
} catch (err) {
console.error('Error reading directory:', err);
}
Verificar si un archivo o directorio existe
Verificación asíncrona:
fs.access('example.txt', fs.constants.F_OK, (err) => {
if (err) {
console.log('File does not exist');
} else {
console.log('File exists');
}
});Verificación síncrona:
try {
fs.accessSync('example.txt', fs.constants.F_OK);
console.log('File exists');
} catch (err) {
console.log('File does not exist');
}Uso avanzado
1. Flujo de archivos
Los flujos de archivos se pueden usar para leer y escribir archivos grandes de manera eficiente, sin cargar todo el archivo en la memoria de una sola vez.
Flujo de lectura de archivos:
const fs = require('fs');
const readableStream = fs.createReadStream('large_file.txt', 'utf8');
readableStream.on('data', (chunk) => {
console.log('Received chunk:', chunk);
});
readableStream.on('end', () => {
console.log('No more data.');
});
Flujo de escritura de archivos:
const fs = require('fs');
const writableStream = fs.createWriteStream('output.txt');
writableStream.write('Hello, ');
writableStream.write('World!\n');
writableStream.end();
writableStream.on('finish', () => {
console.log('All writes are now complete.');
});2. Información estadística del sistema de archivos
Se puede usarfs.statofs.lstatpara obtener la información estadística de un archivo o directorio.
Obtener información estadística de forma asíncrona:
fs.stat('example.txt', (err, stats) => {
if (err) {
console.error('Error getting stats:', err);
return;
}
console.log('Is file?', stats.isFile());
console.log('Is directory?', stats.isDirectory());
console.log('Size:', stats.size);
});Obtener información estadística de forma síncrona:
try {
const stats = fs.statSync('example.txt');
console.log('Is file?', stats.isFile());
console.log('Is directory?', stats.isDirectory());
console.log('Size:', stats.size);
} catch (err) {
console.error('Error getting stats:', err);
}
A continuación, vamos a conocer en detalle los métodos del sistema de archivos de Node.js.
Abrir un archivo
Sintaxis
La siguiente es la sintaxis para abrir un archivo en modo asíncrono:
fs.open(path, flags[, mode], callback)
Parámetros
La descripción de los parámetros es la siguiente:
path- La ruta del archivo.
flags- El comportamiento de apertura del archivo. Vea los valores específicos a continuación.
mode- Establece el modo (permisos) del archivo, el permiso predeterminado para archivos nuevos es 0666 (lectura y escritura).
callback- Función de callback, con dos parámetros como: callback(err, fd).
El parámetro flags puede tener los siguientes valores:
| Flag | Descripción |
|---|---|
| r | Abre el archivo en modo de solo lectura. El archivo debe existir. Si el archivo no existe, se lanzará una excepción. |
| r+ | Abre el archivo en modo lectura y escritura. El archivo debe existir. |
| rs | Abre el archivo en modo de solo lectura de forma síncrona. Es una operación bloqueante, pero en algunos sistemas operativos puede ofrecer mejor estabilidad. |
| rs+ | Abre el archivo en modo lectura y escritura de forma síncrona. Es una operación bloqueante, pero en algunos sistemas operativos puede ofrecer mejor estabilidad. |
| w | Abre el archivo en modo de solo escritura. Si el archivo no existe, se crea; si existe, se trunca. |
| wx | Similar a 'w', pero falla si la ruta existe. |
| w+ | Abre el archivo en modo lectura y escritura. Si el archivo no existe, se crea; si existe, se trunca. |
| wx+ | Similar a 'w+', pero falla si la ruta existe. |
| a | Abre el archivo en modo de agregar (append). Si el archivo no existe, se crea. |
| ax | Similar a 'a', pero falla si la ruta existe. |
| a+ | Abre el archivo en modo lectura y agregar. Si el archivo no existe, se crea. |
| ax+ | Similar a 'a+', pero falla si la ruta existe. |
Ejemplo
A continuación, creamos el archivo file.js y abrimos input.txt para lectura y escritura, el código es el siguiente:
var fs = require("fs");
// 异步打开文件
console.log("准备打开文件!");
fs.open('input.txt', 'r+', function(err, fd) {
if (err) {
return console.error(err);
}
console.log("文件打开成功!");
});
El resultado de ejecutar el código anterior es el siguiente:
$ node file.js 准备打开文件! 文件打开成功!
Obtener información del archivo
Sintaxis
La siguiente es la sintaxis para obtener información del archivo en modo asíncrono:
fs.stat(path, callback)
Parámetros
La descripción de los parámetros es la siguiente:
path- Ruta del archivo.
callback- Función de callback, con dos parámetros como: (err, stats),statsstats es el objeto fs.Stats.
Después de ejecutar fs.stat(path), se devuelve una instancia de la clase stats a su función de callback. Se pueden usar los métodos proporcionados por la clase stats para determinar las propiedades del archivo. Por ejemplo, para determinar si es un archivo:
var fs = require('fs');
fs.stat('/Users/liuht/code/itbilu/demo/fs.js', function (err, stats) {
console.log(stats.isFile()); //true
})
Los métodos de la clase stats incluyen:
| Método | Descripción |
|---|---|
| stats.isFile() | Devuelve true si es un archivo; de lo contrario, devuelve false. |
| stats.isDirectory() | Devuelve true si es un directorio; de lo contrario, devuelve false. |
| stats.isBlockDevice() | Devuelve true si es un dispositivo de bloques; de lo contrario, devuelve false. |
| stats.isCharacterDevice() | Devuelve true si es un dispositivo de caracteres; de lo contrario, devuelve false. |
| stats.isSymbolicLink() | Devuelve true si es un enlace simbólico; de lo contrario, devuelve false. |
| stats.isFIFO() | Devuelve true si es FIFO; de lo contrario, devuelve false. FIFO es un tipo especial de tubería de comandos en UNIX. |
| stats.isSocket() | Devuelve true si es un socket; de lo contrario, devuelve false. |
Ejemplo
A continuación, creamos el archivo file.js, el código es el siguiente:
var fs = require("fs");
console.log("准备打开文件!");
fs.stat('input.txt', function (err, stats) {
if (err) {
return console.error(err);
}
console.log(stats);
console.log("读取文件信息成功!");
// 检测文件类型
console.log("是否为文件(isFile) ? " + stats.isFile());
console.log("是否为目录(isDirectory) ? " + stats.isDirectory());
});
El resultado de ejecutar el código anterior es el siguiente:
$ node file.js
准备打开文件!
{ dev: 16777220,
mode: 33188,
nlink: 1,
uid: 501,
gid: 20,
rdev: 0,
blksize: 4096,
ino: 40333161,
size: 61,
blocks: 8,
atime: Mon Sep 07 2015 17:43:55 GMT+0800 (CST),
mtime: Mon Sep 07 2015 17:22:35 GMT+0800 (CST),
ctime: Mon Sep 07 2015 17:22:35 GMT+0800 (CST) }
读取文件信息成功!
是否为文件(isFile) ? true
是否为目录(isDirectory) ? false
Escribir en un archivo
Sintaxis
La siguiente es la sintaxis para escribir en un archivo en modo asíncrono:
fs.writeFile(file, data[, options], callback)
writeFile abre directamente el archivo; el modo predeterminado eswmodo, por lo que si el archivo existe, el contenido escrito por este método sobrescribirá el contenido anterior.
Parámetros
La descripción de los parámetros es la siguiente:
file- Nombre del archivo o descriptor de archivo.
data- Datos a escribir en el archivo, pueden ser un objeto String (cadena) o Buffer (búfer).
options- Este parámetro es un objeto que contiene {encoding, mode, flag}. La codificación predeterminada es utf8, el modo es 0666 y flag es 'w'.
callback- Función de callback, que solo contiene el parámetro de información de error (err), devuelto cuando falla la escritura.
Ejemplo
A continuación, creamos el archivo file.js, el código es el siguiente:
var fs = require("fs");
console.log("准备写入文件");
fs.writeFile('input.txt', '我是通 过fs.writeFile 写入文件的内容', function(err) {
if (err) {
return console.error(err);
}
console.log("数据写入成功!");
console.log("--------我是分割线-------------")
console.log("读取写入的数据!");
fs.readFile('input.txt', function (err, data) {
if (err) {
return console.error(err);
}
console.log("异步读取文件数据: " + data.toString());
});
});
El resultado de ejecutar el código anterior es el siguiente:
$ node file.js 准备写入文件 数据写入成功! --------我是分割线------------- 读取写入的数据! 异步读取文件数据: 我是通 过fs.writeFile 写入文件的内容
Leer un archivo
Sintaxis
La siguiente es la sintaxis para leer archivos en modo asíncrono:
fs.read(fd, buffer, offset, length, position, callback)
Este método utiliza un descriptor de archivo para leer el archivo.
Parámetros
La descripción del uso de los parámetros es la siguiente:
fd- El descriptor de archivo devuelto por el método fs.open().
buffer- El búfer donde se escriben los datos.
offset- El desplazamiento de escritura en el búfer.
length- El número de bytes que se van a leer del archivo.
position- La posición inicial de lectura del archivo. Si el valor de position es null, se leerá desde la posición actual del puntero del archivo.
callback- La función de devolución de llamada tiene tres parámetros: err, bytesRead, buffer. err es el mensaje de error, bytesRead indica el número de bytes leídos y buffer es el objeto del búfer.
Ejemplo
El contenido del archivo input.txt es:
Ejemplo官网地址:www.example.com
A continuación, creamos el archivo file.js, el código es el siguiente:
var fs = require("fs");
var buf = new Buffer.alloc(1024);
console.log("准备打开已存在的文件!");
fs.open('input.txt', 'r+', function(err, fd) {
if (err) {
return console.error(err);
}
console.log("文件打开成功!");
console.log("准备读取文件:");
fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
if (err){
console.log(err);
}
console.log(bytes + " 字节被读取");
// 仅输出读取的字节
if(bytes > 0){
console.log(buf.slice(0, bytes).toString());
}
});
});
El resultado de ejecutar el código anterior es el siguiente:
$ node file.js 准备打开已存在的文件! 文件打开成功! 准备读取文件: 42 字节被读取 Ejemplo官网地址:www.example.com
Cerrar un archivo
Sintaxis
La siguiente es la sintaxis para cerrar archivos en modo asíncrono:
fs.close(fd, callback)
Este método utiliza un descriptor de archivo para leer el archivo.
Parámetros
La descripción del uso de los parámetros es la siguiente:
fd- El descriptor de archivo devuelto por el método fs.open().
callback- La función de devolución de llamada, sin parámetros.
Ejemplo
El contenido del archivo input.txt es:
Ejemplo官网地址:www.example.com
A continuación, creamos el archivo file.js, el código es el siguiente:
var fs = require("fs");
var buf = new Buffer.alloc(1024);
console.log("准备打开文件!");
fs.open('input.txt', 'r+', function(err, fd) {
if (err) {
return console.error(err);
}
console.log("文件打开成功!");
console.log("准备读取文件!");
fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
if (err){
console.log(err);
}
// 仅输出读取的字节
if(bytes > 0){
console.log(buf.slice(0, bytes).toString());
}
// 关闭文件
fs.close(fd, function(err){
if (err){
console.log(err);
}
console.log("文件关闭成功");
});
});
});
El resultado de ejecutar el código anterior es el siguiente:
$ node file.js 准备打开文件! 文件打开成功! 准备读取文件! Ejemplo官网地址:www.example.com 文件关闭成功
Truncar un archivo
Sintaxis
La siguiente es la sintaxis para truncar archivos en modo asíncrono:
fs.ftruncate(fd, len, callback)
Este método utiliza un descriptor de archivo para leer el archivo.
Parámetros
La descripción del uso de los parámetros es la siguiente:
fd- El descriptor de archivo devuelto por el método fs.open().
len- La longitud del truncado del contenido del archivo.
callback- La función de devolución de llamada, sin parámetros.
Ejemplo
El contenido del archivo input.txt es:
site:www.example.com
A continuación, creamos el archivo file.js, el código es el siguiente:
var fs = require("fs");
var buf = new Buffer.alloc(1024);
console.log("准备打开文件!");
fs.open('input.txt', 'r+', function(err, fd) {
if (err) {
return console.error(err);
}
console.log("文件打开成功!");
console.log("截取10字节内的文件内容,超出部分将被去除。");
// 截取文件
fs.ftruncate(fd, 10, function(err){
if (err){
console.log(err);
}
console.log("文件截取成功。");
console.log("读取相同的文件");
fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
if (err){
console.log(err);
}
// 仅输出读取的字节
if(bytes > 0){
console.log(buf.slice(0, bytes).toString());
}
// 关闭文件
fs.close(fd, function(err){
if (err){
console.log(err);
}
console.log("文件关闭成功!");
});
});
});
});
El resultado de ejecutar el código anterior es el siguiente:
$ node file.js 准备打开文件! 文件打开成功! 截取10字节内的文件内容,超出部分将被去除。 文件截取成功。 读取相同的文件 site:www.r 文件关闭成功
Eliminar un archivo
Sintaxis
La siguiente es la sintaxis para eliminar archivos:
fs.unlink(path, callback)
Parámetros
La descripción del uso de los parámetros es la siguiente:
path- La ruta del archivo.
callback- La función de devolución de llamada, sin parámetros.
Ejemplo
El contenido del archivo input.txt es:
site:www.example.com
A continuación, creamos el archivo file.js, el código es el siguiente:
var fs = require("fs");
console.log("准备删除文件!");
fs.unlink('input.txt', function(err) {
if (err) {
return console.error(err);
}
console.log("文件删除成功!");
});
El resultado de ejecutar el código anterior es el siguiente:
$ node file.js 准备删除文件! 文件删除成功!
Al volver a revisar el archivo input.txt, se descubre que ya no existe.
Crear un directorio
Sintaxis
La siguiente es la sintaxis para crear directorios:
fs.mkdir(path[, options], callback)
Parámetros
La descripción del uso de los parámetros es la siguiente:
path- La ruta del archivo.
-
El parámetro options puede ser:
- recursive - Si se crea el directorio de forma recursiva, el valor predeterminado es false.
- mode- Establece los permisos del directorio, el valor predeterminado es 0777.
callback- La función de devolución de llamada, sin parámetros.
Ejemplo
A continuación, creamos el archivo file.js, el código es el siguiente:
var fs = require("fs");
// tmp 目录必须存在
console.log("创建目录 /tmp/test/");
fs.mkdir("/tmp/test/",function(err){
if (err) {
return console.error(err);
}
console.log("目录创建成功。");
});
El resultado de ejecutar el código anterior es el siguiente:
$ node file.js 创建目录 /tmp/test/ 目录创建成功。
Se puede agregar el parámetro recursive: true, sin importar si los directorios /tmp y /tmp/a existen o no:
fs.mkdir('/tmp/a/apple', { recursive: true }, (err) => {
if (err) throw err;
});
Leer un directorio
Sintaxis
La siguiente es la sintaxis para leer directorios:
fs.readdir(path, callback)
Parámetros
La descripción del uso de los parámetros es la siguiente:
path- La ruta del archivo.
callback- La función de devolución de llamada. La función de devolución de llamada tiene dos parámetros: err, files. err es el mensaje de error, y files es la lista de archivos en el directorio.
Ejemplo
A continuación, creamos el archivo file.js, el código es el siguiente:
var fs = require("fs");
console.log("查看 /tmp 目录");
fs.readdir("/tmp/",function(err, files){
if (err) {
return console.error(err);
}
files.forEach( function (file){
console.log( file );
});
});
El resultado de ejecutar el código anterior es el siguiente:
$ node file.js 查看 /tmp 目录 input.out output.out test test.txt
Eliminar un directorio
Sintaxis
La siguiente es la sintaxis para eliminar directorios:
fs.rmdir(path, callback)
Parámetros
La descripción del uso de los parámetros es la siguiente:
path- La ruta del archivo.
callback- La función de devolución de llamada, sin parámetros.
Ejemplo
A continuación, creamos el archivo file.js, el código es el siguiente:
var fs = require("fs");
// 执行前创建一个空的 /tmp/test 目录
console.log("准备删除目录 /tmp/test");
fs.rmdir("/tmp/test",function(err){
if (err) {
return console.error(err);
}
console.log("读取 /tmp 目录");
fs.readdir("/tmp/",function(err, files){
if (err) {
return console.error(err);
}
files.forEach( function (file){
console.log( file );
});
});
});
El resultado de ejecutar el código anterior es el siguiente:
$ node file.js 准备删除目录 /tmp/test 读取 /tmp 目录 ……
Manual de referencia de métodos del módulo de archivos
La siguiente es la lista de métodos del módulo de archivos de Node.js:
| Número | Método & Descripción |
|---|---|
| 1 | fs.rename(oldPath, newPath, callback) rename() asíncrono. La función de devolución de llamada no tiene parámetros, pero puede lanzar una excepción. |
| 2 | fs.ftruncate(fd, len, callback) ftruncate() asíncrono. La función de devolución de llamada no tiene parámetros, pero puede lanzar una excepción. |
| 3 | fs.ftruncateSync(fd, len) ftruncate() síncrono. |
| 4 | fs.truncate(path, len, callback) truncate() asíncrono. La función de devolución de llamada no tiene parámetros, pero puede lanzar una excepción. |
| 5 | fs.truncateSync(path, len) truncate() síncrono. |
| 6 | fs.chown(path, uid, gid, callback) chown() asíncrono. La función de devolución de llamada no tiene parámetros, pero puede lanzar una excepción. |
| 7 | fs.chownSync(path, uid, gid) chown() síncrono. |
| 8 | fs.fchown(fd, uid, gid, callback) fchown() asíncrono. La función de devolución de llamada no tiene parámetros, pero puede lanzar una excepción. |
| 9 | fs.fchownSync(fd, uid, gid) fchown() síncrono. |
| 10 | fs.lchown(path, uid, gid, callback) lchown() asíncrono. La función de devolución de llamada no tiene parámetros, pero puede lanzar una excepción. |
| 11 | fs.lchownSync(path, uid, gid) lchown() síncrono. |
| 12 | fs.chmod(path, mode, callback) chmod() asíncrono. La función de devolución de llamada no tiene parámetros, pero puede lanzar una excepción. |
| 13 | fs.chmodSync(path, mode) chmod() síncrono. |
| 14 | fs.fchmod(fd, mode, callback) fchmod() asíncrono. La función de devolución de llamada no tiene parámetros, pero puede lanzar una excepción. |
| 15 | fs.fchmodSync(fd, mode) fchmod() síncrono. |
| 16 | fs.lchmod(path, mode, callback) lchmod() asíncrono. La función de devolución de llamada no tiene parámetros, pero puede lanzar una excepción. Solo disponible en Mac OS X. |
| 17 | fs.lchmodSync(path, mode) lchmod() síncrono. |
| 18 | fs.stat(path, callback) stat() asíncrono. La función de devolución de llamada tiene dos parámetros: err, stats. stats es un objeto fs.Stats. |
| 19 | fs.lstat(path, callback) lstat() asíncrono. La función de devolución de llamada tiene dos parámetros: err, stats. stats es un objeto fs.Stats. |
| 20 | fs.fstat(fd, callback) fstat() asíncrono. La función de devolución de llamada tiene dos parámetros: err, stats. stats es un objeto fs.Stats. |
| 21 | fs.statSync(path) stat() síncrono. Devuelve una instancia de fs.Stats. |
| 22 | fs.lstatSync(path) lstat() síncrono. Devuelve una instancia de fs.Stats. |
| 23 | fs.fstatSync(fd) fstat() síncrono. Devuelve una instancia de fs.Stats. |
| 24 | fs.link(srcpath, dstpath, callback) link() asíncrono. La función de devolución de llamada no tiene parámetros, pero puede lanzar una excepción. |
| 25 | fs.linkSync(srcpath, dstpath) link() síncrono. |
| 26 | fs.symlink(srcpath, dstpath[, type], callback) symlink() asíncrono. La función de devolución de llamada no tiene parámetros, pero puede lanzar una excepción. El parámetro type puede establecerse en 'dir', 'file' o 'junction' (por defecto es 'file'). |
| 27 | fs.symlinkSync(srcpath, dstpath[, type]) symlink() síncrono. |
| 28 | fs.readlink(path, callback) readlink() asíncrono. La función de devolución de llamada tiene dos parámetros: err, linkString. |
| 29 | fs.realpath(path[, cache], callback) realpath() asíncrono. La función de devolución de llamada tiene dos parámetros: err, resolvedPath. |
| 30 | fs.realpathSync(path[, cache]) realpath() síncrono. Devuelve la ruta absoluta. |
| 31 | fs.unlink(path, callback) unlink() asíncrono. La función de devolución de llamada no tiene parámetros, pero puede lanzar una excepción. |
| 32 | fs.unlinkSync(path) unlink() síncrono. |
| 33 | fs.rmdir(path, callback) rmdir() asíncrono. La función de devolución de llamada no tiene parámetros, pero puede lanzar una excepción. |
| 34 | fs.rmdirSync(path) rmdir() síncrono. |
| 35 | fs.mkdir(path[, mode], callback) mkdir(2) asíncrono. La función de devolución de llamada no tiene parámetros, pero puede lanzar una excepción. El permiso de acceso predeterminado es 0777. |
| 36 | fs.mkdirSync(path[, mode]) mkdir() síncrono. |
| 37 | fs.readdir(path, callback) readdir(3) asíncrono. Lee el contenido del directorio. |
| 38 | fs.readdirSync(path) readdir() síncrono. Devuelve la lista de archivos. |
| 39 | fs.close(fd, callback) close() asíncrono. La función de devolución de llamada no tiene parámetros, pero puede lanzar una excepción. |
| 40 | fs.closeSync(fd) close() síncrono. |
| 41 | fs.open(path, flags[, mode], callback) Abrir archivo de forma asíncrona. |
| 42 | fs.openSync(path, flags[, mode]) Versión síncrona de fs.open(). |
| 43 | fs.utimes(path, atime, mtime, callback) |
| 44 | fs.utimesSync(path, atime, mtime) Modificar la marca de tiempo del archivo, especificado mediante la ruta del archivo. |
| 45 | fs.futimes(fd, atime, mtime, callback) |
| 46 | fs.futimesSync(fd, atime, mtime) Modificar la marca de tiempo del archivo, especificado mediante el descriptor de archivo. |
| 47 | fs.fsync(fd, callback) fsync asíncrono. La función de devolución de llamada no tiene parámetros, pero puede lanzar una excepción. |
| 48 | fs.fsyncSync(fd) fsync síncrono. |
| 49 | fs.write(fd, buffer, offset, length[, position], callback) Escribir el contenido del búfer en el archivo especificado por el descriptor de archivo. |
| 50 | fs.write(fd, data[, position[, encoding]], callback) Escribir el contenido del archivo mediante el descriptor de archivo fd. |
| 51 | fs.writeSync(fd, buffer, offset, length[, position]) Versión síncrona de fs.write(). |
| 52 | fs.writeSync(fd, data[, position[, encoding]]) Versión síncrona de fs.write(). |
| 53 | fs.read(fd, buffer, offset, length, position, callback) Leer el contenido del archivo mediante el descriptor de archivo fd. |
| 54 | fs.readSync(fd, buffer, offset, length, position) Versión síncrona de fs.read. |
| 55 | fs.readFile(filename[, options], callback) Lee el contenido del archivo de forma asíncrona. |
| 56 | fs.readFileSync(filename[, options]) |
| 57 | fs.writeFile(filename, data[, options], callback) Escribe el contenido del archivo de forma asíncrona. |
| 58 | fs.writeFileSync(filename, data[, options]) Versión síncrona de fs.writeFile. |
| 59 | fs.appendFile(filename, data[, options], callback) Añade contenido al archivo de forma asíncrona. |
| 60 | fs.appendFileSync(filename, data[, options]) La versión síncrona de fs.appendFile. |
| 61 | fs.watchFile(filename[, options], listener) Ver los cambios del archivo. |
| 62 | fs.unwatchFile(filename[, listener]) Dejar de observar los cambios de filename. |
| 63 | fs.watch(filename[, options][, listener]) Observar los cambios de filename; filename puede ser un archivo o un directorio. Devuelve un objeto fs.FSWatcher. |
| 64 | fs.exists(path, callback) Comprueba si la ruta especificada existe. |
| 65 | fs.existsSync(path) Versión síncrona de fs.exists. |
| 66 | fs.access(path[, mode], callback) Prueba los permisos de usuario de la ruta especificada. |
| 67 | fs.accessSync(path[, mode]) Versión síncrona de fs.access. |
| 68 | fs.createReadStream(path[, options]) Devuelve un objeto ReadStream. |
| 69 | fs.createWriteStream(path[, options]) Devuelve un objeto WriteStream. |
| 70 | fs.symlink(srcpath, dstpath[, type], callback) symlink() asíncrono. La función de callback no tiene parámetros, pero puede lanzar una excepción. |
Para más contenido, consulta la descripción del módulo de archivos en el sitio oficial:File System。
Otras extensiones