如何使用 Node.js 截断文件?
在本文中,我们将探讨如何使用 Node.js 截断完整的文件。有两种方法可以截断文件中的所有数据。我们可以使用 fs.truncate() 方法或 fs.writeFile() 方法来替换所有文件内容。
方法一: Node.js中的fs.truncate()方法可以用来改变文件大小,即这个方法可以用来增加或减少文件大小。此方法通过使用 'len' 字节来更改文件的长度。 'len' 表示从文件的当前长度截断该长度的内容。如果 'len' 大于文件的长度,则内容将附加空字节 (x00),直到达到所需的长度。
句法:
fs.truncate( path, len, callback )
参数:该方法接受上述参数,解释如下:
- path:此参数保存目标文件的路径。此路径可以是字符串、缓冲区或 URL。
- len:此参数定义文件将被截断的文件长度。这需要一个整数输入。默认值为 0。
- 回调:此回调接受一个参数,该参数将接收调用中抛出的任何异常。
注意:在最新版本的 Node.js 中,回调不再是可选参数。未定义回调参数时会抛出“类型错误”。
返回值:这将在截断后返回文件。
示例 1:
Javascript
// Node.js program to demonstrate the
// truncation of File
// Importing the fs module
var fs = require('fs');
// Truncating all the content of the file
fs.truncate('/path/to/file', 0, function() {
console.log('File is truncated !!!')
});
Javascript
// Node.js program to demonstrate the
// truncation of file using fs.writeFile() method
// Importing the filesystem module
const fs = require('fs');
// Replacing the content of the file with empty string
fs.writeFile('/path/to/file', '',
function(){console.log('File Truncated Successfully !!!')})
输出:
File is truncated !!!
方法二: fs.write() 方法可以将指定的数据异步写入文件。我们可以使用相同的属性来截断文件。我们可以用空字符串替换所有内容,所有文件内容都将被截断。
句法:
fs.writeFile( file, data, options, callback )
参数:该方法接受上述参数,解释如下:
- 文件:这将输入作为字符串、缓冲区、URL 或文件描述整数。该整数表示将写入的文件的路径。
- 数据:这是将写入文件的字符串、缓冲区、TypedArray 或 DataView。
- options:这是一个字符串或对象,用于指定可选参数。
- 回调:这定义了在执行方法以捕获任何错误时调用的回调函数。
示例 2:
Javascript
// Node.js program to demonstrate the
// truncation of file using fs.writeFile() method
// Importing the filesystem module
const fs = require('fs');
// Replacing the content of the file with empty string
fs.writeFile('/path/to/file', '',
function(){console.log('File Truncated Successfully !!!')})
输出:
File Truncated Successfully !!!