El módulo fs (Sistema de archivos) en Node.js es una herramienta poderosa para trabajar con el sistema de archivos, lo que le permite interactuar con archivos y directorios en su servidor. Está integrado en Node.js, por lo que no necesitas instalar nada adicional para usarlo. Exploremos cómo funciona fs y sus funciones clave.
El módulo fs proporciona una API para interactuar con el sistema de archivos de una manera estrechamente modelada en torno a las funciones POSIX estándar. Este módulo se utiliza para tareas como leer y escribir archivos, crear directorios y más.
Para usar el módulo fs, debes solicitarlo al comienzo de tu script Node.js:
const fs = require('fs');
Hay dos formas principales de leer archivos: de forma asincrónica y sincrónica.
Este método no bloquea, lo que significa que no detendrá la ejecución de su programa mientras lee el archivo.
fs.readFile('example.txt', 'utf8', (err, data) => { if (err) { console.error(err); return; } console.log(data); });
Este método es de bloqueo, lo que significa que detendrá la ejecución de su programa hasta que se lea el archivo.
try { const data = fs.readFileSync('example.txt', 'utf8'); console.log(data); } catch (err) { console.error(err); }
Al igual que leer archivos, la escritura también se puede realizar de forma asincrónica o sincrónica.
fs.writeFile('example.txt', 'Hello, World!', (err) => { if (err) { console.error(err); return; } console.log('File has been saved!'); });
try { fs.writeFileSync('example.txt', 'Hello, World!'); console.log('File has been saved!'); } catch (err) { console.error(err); }
Si desea agregar contenido a un archivo existente sin sobrescribirlo, utilice el método appendFile.
fs.appendFile('example.txt', '\nAppended Content', (err) => { if (err) { console.error(err); return; } console.log('Content has been appended!'); });
try { fs.appendFileSync('example.txt', '\nAppended Content'); console.log('Content has been appended!'); } catch (err) { console.error(err); }
Para eliminar un archivo, utilice el método de desvinculación.
fs.unlink('example.txt', (err) => { if (err) { console.error(err); return; } console.log('File deleted!'); });
try { fs.unlinkSync('example.txt'); console.log('File deleted!'); } catch (err) { console.error(err); }
fs.mkdir('newDir', { recursive: true }, (err) => { if (err) { console.error(err); return; } console.log('Directory created!'); });
fs.readdir('newDir', (err, files) => { if (err) { console.error(err); return; } console.log('Files in directory:', files); });
fs.rmdir('newDir', { recursive: true }, (err) => { if (err) { console.error(err); return; } console.log('Directory deleted!'); });
Puedes observar los cambios en un archivo usando el método fs.watch:
fs.watch('example.txt', (eventType, filename) => { if (filename) { console.log(`${filename} file Changed!`); } });
Node.js proporciona secuencias fs para manejar archivos grandes que pueden no caber en la memoria.
const readStream = fs.createReadStream('example.txt', 'utf8'); readStream.on('data', (chunk) => { console.log(chunk); });
const writeStream = fs.createWriteStream('example.txt'); writeStream.write('Hello, '); writeStream.write('World!'); writeStream.end();
Node.js proporciona un método simple para copiar archivos:
fs.copyFile('source.txt', 'destination.txt', (err) => { if (err) { console.error(err); return; } console.log('File copied successfully!'); });
El módulo fs también tiene métodos basados en promesas, lo que facilita el trabajo con funciones modernas de JavaScript como async/await.
const fsPromises = require('fs').promises; async function readFile() { try { const data = await fsPromises.readFile('example.txt', 'utf8'); console.log(data); } catch (err) { console.error(err); } } readFile();
El módulo fs es versátil y esencial para cualquier aplicación Node.js que necesite interactuar con el sistema de archivos. Al comprender sus diversos métodos, manejar transmisiones de manera eficiente y emplear las mejores prácticas, estará bien equipado para administrar operaciones de archivos en Node.js de manera efectiva y segura.
Recuerde consultar la documentación oficial de Node.js para obtener la información más actualizada y características adicionales del módulo fs.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3