node.js中的fs.truncate()方法用于更改文件大小,即增加或减小文件大小。此方法将文件路径的长度更改为len字节。如果len表示的长度短于文件的当前长度,则文件将被截断为该长度。如果它大于文件长度,则通过附加空字节(x00)来填充文件长度,直到达到len。
用法:
fs.truncate( path, len, callback )
参数:此方法接受上述和以下所述的三个参数:
- path:它保存目标文件的路径。它可以是字符串,缓冲区或URL。
- len:它保存文件的长度,在此长度之后文件将被截断。它采用整数输入,不是强制条件,因为它默认设置为0。
- callback:回调接收一个参数,调用中会抛出任何异常。
注意:在最新版本的node.js中,回调不再是可选参数。如果我们不使用回调参数,那么它将在运行时返回“Type Error”。
返回值:它将所需文件的长度更改为所需长度。
范例1:
// Node.js program to demonstrate the
// fs.truncate() method
// Include the fs module
var fs = require('fs');
// Completely delete the content
// of the targeted file
fs.truncate('/path/to/file', 0, function() {
console.log('File Content Deleted')
});
输出:
File Content Deleted
范例2:
// Node.js program to demonstrate the
// fs.truncate() method
// Include the fs module
var fs = require('fs');
console.log("Content of file");
// Opening file
fs.open('input.txt', 'r+', function(err, fd) {
if (err) {
return console.error(err);
}
// Reading file
fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
if (err){
console.log(err);
}
// Truncating the file
fs.truncate('/path/to/file', 15, function(err, bytes){
if (err){
console.log(err);
}
// Content after truncating
console.log("New content of file");
fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){
if (err) {
console.log(err);
}
// Print only read bytes to avoid junk.
if(bytes > 0) {
console.log(buf.slice(0, bytes).toString());
}
// Close the opened file.
fs.close(fd, function(err) {
if (err) {
console.log(err);
}
});
});
});
});
});
输出:
Content of file GeeksforGeeks example for truncate in node New content of file GeeksforGeeks
参考: https://nodejs.org/api/fs.html#fs_fs_ftruncate_fd_len_callback
相关用法
注:本文由纯净天空筛选整理自aditya20191大神的英文原创作品 Node.js | fs.truncate() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。