📜  如何使用 Node.js 截断文件?

📅  最后修改于: 2022-05-13 01:56:22.805000             🧑  作者: Mango

如何使用 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 !!!