fs.closeSync()方法用于同步关闭给定的文件描述符,从而清除与之关联的文件。它允许文件描述符重用于其他文件。在文件描述符上执行其他操作时,在文件描述符上调用fs.closeSync()可能会导致未定义的行为。
用法:
fs.closeSync( fd )
参数:此方法接受上述和以下描述的单个参数:
- fd:这是一个整数,表示要关闭的文件的文件描述符。
以下示例说明了Node.js中的fs.closeSync()方法:
范例1:本示例显示文件描述符的关闭。
// 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');
}
输出:
The file descriptor is:3 > File Closed successfully
范例2:本示例显示了文件描述符的关闭,并尝试再次访问关闭的文件描述符。
// 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);
}
输出:
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' }
参考: https://nodejs.org/api/fs.html#fs_fs_closesync_fd
相关用法
- Node.js GM flop()用法及代码示例
- Node.js GM spread()用法及代码示例
- Node.js GM gamma()用法及代码示例
- Node.js GM minify()用法及代码示例
- Node.js GM magnify()用法及代码示例
- Node.js GM modulate()用法及代码示例
- Node.js GM gaussian()用法及代码示例
- Node.js GM shave()用法及代码示例
- Node.js GM emboss()用法及代码示例
注:本文由纯净天空筛选整理自sayantanm19大神的英文原创作品 Node.js | fs.closeSync() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。