fs.close()方法用於異步關閉給定的文件描述符,從而清除與之關聯的文件。這將允許文件描述符重用於其他文件。在文件描述符上執行其他操作時,在文件描述符上調用fs.close()可能會導致未定義的行為。
用法:
fs.close( fd, callback )
參數:此方法接受上述和以下所述的兩個參數:
- fd:它是一個整數,表示要關閉的文件的文件描述符。
- callback:該方法執行時將調用該函數。
- err:如果方法失敗,將拋出此錯誤。
以下示例說明了Node.js中的fs.close()方法:
範例1:本示例顯示文件描述符的關閉。
// 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");
}
});
輸出:
The file descriptor is:3 > File Closed successfully
範例2:此示例顯示了文件描述符的關閉,並嘗試再次訪問該關閉的文件描述符。
// 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);
}
輸出:
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' }
參考: https://nodejs.org/api/fs.html#fs_fs_close_fd_callback
相關用法
- 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.close() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。