Node.js se utiliza para secuencias de comandos del lado del servidor. Leer y escribir archivos son las dos operaciones más importantes que se realizan en cualquier aplicación. Node.js ofrece una amplia gama de funcionalidades integradas para realizar operaciones de lectura y escritura. El paquete fs contiene las funciones necesarias para las operaciones con archivos. El método read() del paquete fs lee el archivo usando un descriptor de archivo. Para leer archivos sin descriptor de archivo, se puede usar el método readFile() del paquete fs.
Sintaxis
fs.read(fd, buffer, offset, length, position, callback)
Parámetros:
- fd: descriptor de archivo devuelto por el método fs.open().
- búfer: Almacena los datos extraídos del archivo.
- offset: Desplazamiento en el búfer que indica dónde empezar a escribir.
- longitud: Un entero que especifica el número de bytes a leer.
- posición: un número entero que especifica desde dónde comenzar a leer en el archivo. Si la posición es nula, los datos se leen desde la posición actual del archivo.
- devolución de llamada: la función de devolución de llamada acepta los tres argumentos, es decir. (err, lectura de bytes, búfer).
Explicación: el método fs.open() abre el archivo y devuelve un descriptor de archivo. Un descriptor de archivo es un número o índice que el núcleo almacena en la tabla de descriptores de archivo y se usa para identificar de forma única un archivo abierto en el sistema operativo de la computadora. El método fs.read() lee el archivo utilizando el descriptor de archivo y lo almacena en el búfer. El contenido del búfer se imprime como salida. El método fs.close() se usa para cerrar el archivo.
Ejemplo 1:
var fs = require("fs"); var buffer = new Buffer.alloc(1024); console.log("Open existing file"); fs.open('gfg.txt', 'r+', function (err, fd) { if (err) { return console.error(err); } console.log("Reading the file"); fs.read(fd, buffer, 0, buffer.length, 0, function (err, bytes) { if (err) { console.log(err); } if (bytes > 0) { console.log(buffer. slice(0, bytes).toString()); } console.log(bytes + " bytes read"); // Close the opened file. fs.close(fd, function (err) { if (err) { console.log(err); } console.log("File closed successfully"); }); }); });
Producción:
Open existing file Reading the file 0 bytes read File closed successfully
Ejemplo 2: Tomando entrada dinámica para nombre/ruta de archivo.
// Module required to accept user // input from console var readline = require('readline-sync'); var fs = require("fs"); var path = readline.question("Enter file path: "); console.log("Entered path : " + path); console.log("File Content "); fs.stat(path, function (error, stats) { // 'r' specifies read mode fs.open(path, "r", function (error, fd) { var buffer = new Buffer.alloc(stats.size); fs.read(fd, buffer, 0, buffer.length, null, function (error, bytesRead, buffer) { var data = buffer.toString("utf8"); console.log(data); }); }); });
Producción:
C:\Users\User\Desktop>node read3.js Enter file path: new.txt Entered path : new.txt File Content Hello World.. Welcome to GeeksForGeeks.. This is a Node.js program
Publicación traducida automáticamente
Artículo escrito por Shreyasi_Chakraborty y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA