Método Node.js fs.read()

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *