El método fs.close() se usa para cerrar de forma asíncrona el descriptor de archivo dado, borrando así el archivo asociado con él. Esto permitirá que el descriptor de archivo se reutilice para otros archivos. Llamar a fs.close() en un descriptor de archivo mientras se realiza alguna otra operación puede generar un comportamiento indefinido.
Sintaxis:
fs.close( fd, callback )
Parámetros: este método acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:
- fd: es un número entero que denota el descriptor de archivo del archivo para el cual se cerrará.
- devolución de llamada: Es una función que sería llamada cuando se ejecuta el método.
- err: es un error que se lanzaría si el método falla.
Los siguientes ejemplos ilustran el método fs.close() en Node.js:
Ejemplo 1: Este ejemplo muestra el cierre de un descriptor de archivo.
// Node.js program to demonstrate the // fs.close() 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 fs.close(file_descriptor, (err) => { if (err) console.error('Failed to close file', err); else { console.log("\n> File Closed successfully"); } });
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 a ese descriptor de archivo cerrado.
// Node.js program to demonstrate the // fs.close() 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); console.log("\n> Finding the stats of the file"); try { // Attempting to find stats of file before closing statsObj = fs.fstatSync(file_descriptor); console.log("Stats of the file generated"); // Closing the file descriptor console.log("\n> Closing the file descriptor"); fs.close(file_descriptor, (err) => { if (err) console.error("Failed to close file", err); else { console.log("File Closed successfully"); try { // Attempting to find stats of file after closing console.log("\n> Finding the stats of the file again"); statsObj = fs.fstatSync(file_descriptor); console.log("Stats of the file generated"); } catch (err) { console.error("Cannot find stats of file", err); } } }); } 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 > Closing the file descriptor 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 G:\tutorials\nodejs-fs-close\index.js:42:23 at FSReqCallback.oncomplete (fs.js:146:23) { fd: 3, errno: -4083, syscall: 'fstat', code: 'EBADF' }
Referencia: https://nodejs.org/api/fs.html#fs_fs_close_fd_callback
Publicación traducida automáticamente
Artículo escrito por sayantanm19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA