Módulo de sistema de archivos Node.js
Node.js como servidor de archivos
El módulo del sistema de archivos Node.js le permite trabajar con el sistema de archivos en su computadora.
Para incluir el módulo Sistema de archivos, utilice el
require()
método:
var fs = require('fs');
Uso común para el módulo Sistema de archivos:
- Leer archivos
- Crear archivos
- Actualizar archivos
- Borrar archivos
- Renombrar archivos
Leer archivos
El fs.readFile()
método se utiliza para leer archivos en su computadora.
Supongamos que tenemos el siguiente archivo HTML (ubicado en la misma carpeta que Node.js):
demofile1.html
<html>
<body>
<h1>My Header</h1>
<p>My paragraph.</p>
</body>
</html>
Cree un archivo Node.js que lea el archivo HTML y devuelva el contenido:
Ejemplo
var http = require('http');
var fs = require('fs');
http.createServer(function
(req, res) {
fs.readFile('demofile1.html', function(err, data) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data);
return res.end();
});
}).listen(8080);
Guarde el código anterior en un archivo llamado "demo_readfile.js" e inicie el archivo:
Inicie demo_readfile.js:
C:\Users\Your Name>node demo_readfile.js
Si ha seguido los mismos pasos en su computadora, verá el mismo resultado que el ejemplo: http://localhost:8080
Crear archivos
El módulo Sistema de archivos tiene métodos para crear nuevos archivos:
fs.appendFile()
fs.open()
fs.writeFile()
El fs.appendFile()
método agrega contenido especificado a un archivo. Si el archivo no existe, se creará el archivo:
Ejemplo
Crea un nuevo archivo usando el método appendFile():
var fs = require('fs');
fs.appendFile('mynewfile1.txt', 'Hello
content!', function (err) {
if (err) throw err;
console.log('Saved!');
});
El fs.open()
método toma una "bandera" como segundo argumento, si la bandera es "w" para "escribir", el archivo especificado se abre para escritura. Si el archivo no existe, se crea un archivo vacío:
Ejemplo
Cree un nuevo archivo vacío usando el método open():
var fs = require('fs');
fs.open('mynewfile2.txt', 'w', function (err,
file) {
if (err) throw err;
console.log('Saved!');
});
El fs.writeFile()
método reemplaza el archivo y el contenido especificados, si existen. Si el archivo no existe, se creará un nuevo archivo con el contenido especificado:
Ejemplo
Crea un nuevo archivo usando el método writeFile():
var fs = require('fs');
fs.writeFile('mynewfile3.txt', 'Hello
content!', function (err) {
if (err) throw err;
console.log('Saved!');
});
Actualizar archivos
El módulo Sistema de archivos tiene métodos para actualizar archivos:
fs.appendFile()
fs.writeFile()
El fs.appendFile()
método agrega el contenido especificado al final del archivo especificado:
Ejemplo
Agregue "Este es mi texto". al final del archivo "mynewfile1.txt":
var fs = require('fs');
fs.appendFile('mynewfile1.txt', ' This is my
text.', function (err) {
if (err) throw err;
console.log('Updated!');
});
El fs.writeFile()
método reemplaza el archivo y el contenido especificados:
Ejemplo
Reemplace el contenido del archivo "mynewfile3.txt":
var fs = require('fs');
fs.writeFile('mynewfile3.txt', 'This is my text', function (err) {
if (err) throw err;
console.log('Replaced!');
});
Borrar archivos
Para eliminar un archivo con el módulo Sistema de archivos, utilice el fs.unlink()
método.
El fs.unlink()
método elimina el archivo especificado:
Ejemplo
Eliminar "mynewfile2.txt":
var fs = require('fs');
fs.unlink('mynewfile2.txt', function (err) {
if (err) throw err;
console.log('File deleted!');
});
Renombrar archivos
Para cambiar el nombre de un archivo con el módulo Sistema de archivos, use el fs.rename()
método.
El fs.rename()
método cambia el nombre del archivo especificado:
Ejemplo
Cambie el nombre de "mynewfile1.txt" a "myrenamedfile.txt":
var fs = require('fs');
fs.rename('mynewfile1.txt', 'myrenamedfile.txt', function (err) {
if (err) throw err;
console.log('File Renamed!');
});
Subir archivos
También puede usar Node.js para cargar archivos a su computadora.
Lea cómo en nuestro capítulo Subir archivos de Node.js.