📜  Node.js 文件句柄.truncate() 方法(1)

📅  最后修改于: 2023-12-03 15:17:57.130000             🧑  作者: Mango

Node.js 文件句柄.truncate() 方法

简介

Node.js 中,使用文件句柄(file descriptor)能更加高效地操作文件,因为不用每次操作都打开和关闭一遍文件。fs.truncate() 方法可以根据文件句柄截断文件,从而实现文件的大小控制。

语法
fs.truncate(fd, len, callback)
  • fd : 文件句柄。
  • len : 截断后的文件长度。
  • callback : 回调函数,可选。当文件截断完成后,会调用该回调函数。
示例
const fs = require('fs');

// 打开一个文件,并读取其文件句柄
fs.open('example.txt', 'r+', function(err, fd) {
  if (err) {
    console.log(err);
  } else {
    // 截断文件,使其只保留前 5 个字符
    fs.truncate(fd, 5, function(err) {
      if (err) {
        console.log(err);
      } else {
        console.log('文件已成功截断');
      }
      // 关闭文件句柄
      fs.close(fd, function(err) {
        if (err) {
          console.log(err);
        }
      });
    });
  }
});

以上代码执行后,文件 example.txt 的内容将只剩下前 5 个字符。

注意事项
  • 文件并不会被删除或增加,只是截去或补齐了一部分。
  • 截断后的文件不能恢复到原来的长度,因此在使用该方法之前应当仔细考虑文件长度的处理。
参考文献