Método Node.js fs.closeSync()

El método fs.closeSync() se usa para cerrar sincrónicamente el descriptor de archivo dado, borrando así el archivo asociado con él. Permite reutilizar el descriptor de archivo para otros archivos. Llamar a fs.closeSync() en un descriptor de archivo mientras se realiza alguna otra operación puede generar un comportamiento indefinido.

Sintaxis:

fs.closeSync( fd )

Parámetros: este método acepta un solo parámetro como se mencionó anteriormente y se describe a continuación:

  • fd: es un número entero que denota el descriptor de archivo del archivo que se cerrará.

Los siguientes ejemplos ilustran el método fs.closeSync() en Node.js:

Ejemplo 1: Este ejemplo muestra el cierre de un descriptor de archivo.

// Node.js program to demonstrate the
// fs.closeSync() method
  
// Import the filesystem module
const fs = require('fs');
  
// Get the file descriptor of the given path
file_descriptor = fs.openSync("example.txt");
console.log("The file descriptor is:", file_descriptor);
  
// Close the file descriptor
try {
  fs.closeSync(file_descriptor);
  console.log("\n> File Closed successfully");
} catch (err) {
  console.error('Failed to close file');
}

Producción:

The file descriptor is: 3

> File Closed successfully

Ejemplo 2: este ejemplo muestra el cierre de un descriptor de archivo y el intento de acceder nuevamente al descriptor de archivo cerrado.

// Node.js program to demonstrate the
// fs.closeSync() method
  
// Import the filesystem module
const fs = require('fs');
  
// Get the file descriptor of the given path
file_descriptor = fs.openSync("example.txt");
console.log("The file descriptor is:", file_descriptor);
  
// Attempting to get stats before closing
console.log("\n> Finding the stats of the file");
try {
  statsObj = fs.fstatSync(file_descriptor);
  console.log("Stats of the file generated");
} catch (err) {
  console.error('Cannot find stats of file', err);
}
  
// Close the file descriptor
try {
  fs.closeSync(file_descriptor);
  console.log("\n> File Closed successfully");
} catch (err) {
  console.error('Failed to close file', err);
}
  
// Attempting to find stats after closing
console.log("\n> Finding the stats of the file again");
try {
  statsObj = fs.fstatSync(file_descriptor);
  console.log("Stats of the file generated");
} catch (err) {
  console.error('Cannot find stats of file', err);
}

Producción:

The file descriptor is: 3

> Finding the stats of the file
Stats of the file generated

> File Closed successfully

> Finding the stats of the file again
Cannot find stats of file Error: EBADF: bad file descriptor, fstat
    at Object.fstatSync (fs.js:897:3)
    at Object. (G:\tutorials\nodejs-fs-closeSync\index.js:46:17)
    at Module._compile (internal/modules/cjs/loader.js:956:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
    at Module.load (internal/modules/cjs/loader.js:812:32)
    at Function.Module._load (internal/modules/cjs/loader.js:724:14)
    at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)
    at internal/main/run_main_module.js:17:11 {
  fd: 3,
  errno: -4083,
  syscall: 'fstat',
  code: 'EBADF'
}

Referencia: https://nodejs.org/api/fs.html#fs_fs_closesync_fd

Publicación traducida automáticamente

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