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.