Método Node.js fs.filehandle.fd()

El método fs.filehandle.fd() es una interfaz de programación de aplicaciones incorporada de la clase fs.filehandle dentro del módulo Sistema de archivos que se utiliza para proporcionar el descriptor de archivo numérico de este objeto de identificador de archivo.
Sintaxis: 
 

const filehandle.fd()

Parámetro: Este método no acepta ningún parámetro.
Valor devuelto: este método devuelve el descriptor de archivo numérico de este objeto de identificador de archivo.
Los siguientes programas ilustran el uso del método fs.filehandle.fd() en Node.js:
Ejemplo 1: Nombre de archivo: index.js 
 

javascript

// Node.js program to demonstrate the
// filehandle.fd() method
const fs = require('fs');
const fsPromises = fs.promises;
 
console.log("content of file before operation :- "
            + (fs.readFileSync('example.txt')));
 
// Initiating asyncrionise function
async function funct() {
 
    // Initializing filehandle
    let filehandle = null;
    let value = null;
 
    try {
 
        // Creating and initiating  filehandle
        filehandle = await
            fsPromises.open('example.txt', 'r+');
 
        // Getting the Numeric file descriptor
        // by using fd api
        value = filehandle.fd;
 
    } finally {
 
        if (filehandle) {
 
            // Close the file if it is opened.
            console.log(
                "Numeric file descriptor :- " + value);
            console.log(
                "content of file after operation :- " +
                (fs.readFileSync('example.txt')));
 
            await filehandle.close();
        }
    }
}
 
funct().catch(console.error);

Estructura del directorio antes de ejecutar el programa: 
 

Estructura del directorio después de ejecutar el programa: 
 

Ejecute el archivo index.js con el siguiente comando: 
 

node index.js

Producción: 
 

content of file before operation :- ABCD
Numeric file descriptor :- 3
content of file after operation :- ABCD

Ejemplo 2:  
Nombre de archivo: index.js 
 

javascript

// Node.js program to demonstrate the
// filehandle.fd() method
const fs = require('fs');
const fsPromises = fs.promises;
 
// Data for the new file
let data = "This is a file containing "
            + "a collection of books.";
 
// Name of the file to be created
let file = "books.txt";
 
// Creating the new file 'books.txt'
fs.writeFile(file, data, (err) => {
 
    // Catching error
    if (err) {
        console.log(err);
    }
});
 
// Using fs.exists() method
fs.exists(file, (exists) => {
    if (exists) {
        console.log("content of file "
            + "before operation :- "
            + (fs.readFileSync(file)));
    }
});
 
// Initiating asyncrionise function
async function funct() {
 
    // Initializing filehandle
    let filehandle = null;
 
    try {
 
        // Creating and initiating  filehandle
        filehandle = await
                fsPromises.open(file, 'r+');
 
        // Getting the Numeric file descriptor
        // by using fd api
        value = filehandle.fd;
 
    } finally {
 
        if (filehandle) {
 
            // Close the file if it is opened.
            console.log(
                "Numeric file descriptor :- "
                + value);
                 
            console.log("content of file "
                + "after operation :- "
                + (fs.readFileSync(file)));
 
            await filehandle.close();
        }
    }
}
 
funct().catch(console.error);

Estructura del directorio antes de ejecutar el programa: 
 

Estructura del directorio después de ejecutar el programa: 
 

Ejecute el archivo index.js con el siguiente comando: 
 

node index.js

Producción: 
 

content of file before operation :- This is a file containing a collection of books.
Numeric file descriptor :- 4
content of file after operation :- This is a file containing a collection of books.

Referencia: https://nodejs.org/dist/latest-v12.x/docs/api/fs.html#fs_filehandle_fd
 

Publicación traducida automáticamente

Artículo escrito por RohitPrasad3 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 *