El método fs.fstat() se usa para devolver información sobre el descriptor de archivo dado. El objeto fs.Stat devuelto tiene varios campos y métodos para obtener más detalles sobre el archivo.
Sintaxis:
fs.fstat( fd, options, callback )
Parámetros: este método acepta tres parámetros, como se mencionó anteriormente y se describe a continuación:
- fd: es un número entero que representa el descriptor de archivo utilizado por el método.
- opciones: es un objeto que se puede usar para especificar parámetros opcionales que afectarán la salida. Tiene un parámetro opcional:
- bigint: Es un valor booleano que especifica si los valores numéricos devueltos en el objeto fs.Stats son bigint. El valor predeterminado es falso.
- callback: Es la función que sería llamada cuando se ejecuta el método.
- err: Es un error que se lanzaría si el método
- Stats: Es el objeto Stats que contiene los detalles de la ruta del archivo.
Los siguientes ejemplos ilustran el método fs.fstat() en Node.js:
Ejemplo 1: este ejemplo utiliza el método fs.fstat() para obtener los detalles de un archivo y un directorio.
// Node.js program to demonstrate the // fs.fstat() method // Import the filesystem module const fs = require('fs'); // Define the file descriptor for a file let file_fd = fs.openSync('example_file.txt', 'r'); // Getting information for a file fs.fstat(file_fd, (error, stats) => { if (error) { console.log(error); } else { console.log("Stats object for: example_file.txt"); console.log(stats); // Using methods of the Stats object console.log("Path is file:", stats.isFile()); console.log("Path is directory:", stats.isDirectory()); } }); // Define the file descriptor for a folder let dir_fd = fs.openSync('example_directory', 'r'); // Getting information for a directory fs.fstat(dir_fd, (error, stats) => { if (error) { console.log(error); } else { console.log("Stats object for: example_directory.txt"); console.log(stats); // Using methods of the Stats object console.log("Path is file:", stats.isFile()); console.log("Path is directory:", stats.isDirectory()); } });
Producción:
Stats object for: example_file.txt Stats { dev: 3229478529, mode: 33206, nlink: 1, uid: 0, gid: 0, rdev: 0, blksize: 4096, ino: 281474976780635, size: 0, blocks: 0, atimeMs: 1584389463707.251, mtimeMs: 1582209885466.6848, ctimeMs: 1582209885466.6848, birthtimeMs: 1584389463707.251, atime: 2020-03-16T20:11:03.707Z, mtime: 2020-02-20T14:44:45.467Z, ctime: 2020-02-20T14:44:45.467Z, birthtime: 2020-03-16T20:11:03.707Z } Path is file: true Path is directory: false Stats object for: example_directory.txt Stats { dev: 3229478529, mode: 16822, nlink: 1, uid: 0, gid: 0, rdev: 0, blksize: 4096, ino: 281474976780638, size: 0, blocks: 0, atimeMs: 1584429828080.8872, mtimeMs: 1581074249467.7114, ctimeMs: 1584389463715.2507, birthtimeMs: 1584389463715.2507, atime: 2020-03-17T07:23:48.081Z, mtime: 2020-02-07T11:17:29.468Z, ctime: 2020-03-16T20:11:03.715Z, birthtime: 2020-03-16T20:11:03.715Z } Path is file: false Path is directory: true
Ejemplo 2: este ejemplo usa el método fs.fstat() para obtener los detalles de un archivo con y sin la opción bigint.
// Node.js program to demonstrate the // fs.fstat() method // Import the filesystem module const fs = require('fs'); // Define the file descriptor for a file let file_fd = fs.openSync('example_file.txt', 'r'); fs.fstat(file_fd, (error, stats) => { console.log(stats); }); // Using the bigint option to return // the values in big integer format fs.fstat(file_fd, { bigint: true }, (error, stats) => { console.log(stats); });
Producción:
Stats { dev: 3229478529, mode: 33206, nlink: 1, uid: 0, gid: 0, rdev: 0, blksize: 4096, ino: 281474976780635, size: 0, blocks: 0, atimeMs: 1584389463707.251, mtimeMs: 1582209885466.6848, ctimeMs: 1582209885466.6848, birthtimeMs: 1584389463707.251, atime: 2020-03-16T20:11:03.707Z, mtime: 2020-02-20T14:44:45.467Z, ctime: 2020-02-20T14:44:45.467Z, birthtime: 2020-03-16T20:11:03.707Z } BigIntStats { dev: 3229478529n, mode: 33206n, nlink: 1n, uid: 0n, gid: 0n, rdev: 0n, blksize: 4096n, ino: 281474976780635n, size: 0n, blocks: 0n, atimeMs: 1584389463707n, mtimeMs: 1582209885466n, ctimeMs: 1582209885466n, birthtimeMs: 1584389463707n, atimeNs: 1584389463707251000n, mtimeNs: 1582209885466684900n, ctimeNs: 1582209885466684900n, birthtimeNs: 1584389463707251000n, atime: 2020-03-16T20:11:03.707Z, mtime: 2020-02-20T14:44:45.466Z, ctime: 2020-02-20T14:44:45.466Z, birthtime: 2020-03-16T20:11:03.707Z }
Referencia: https://nodejs.org/api/fs.html#fs_fs_fstat_fd_options_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