目前,我正在尝试删除基本上属于专有存档格式的部分内容;为了支持删除文件的能力,我试图弄清楚如何删除文件的一部分(给定偏移量和长度)。当看到节点的fs模块时,我看到有很多附加逻辑,但似乎没有任何东西可以解决这个问题。文件的一部分。
这是否可能?我是否必须采用不太优先选择写入全新文件?
答案 0 :(得分:2)
操作系统可以非常快速地处理附加到文件,当你打开它以进行追加时,无需重写所有文件。
但是,如果你想切片(剪切)文件的中间部分,你使用哪种编程语言并不重要,你必须阅读整个文件并再次保存。
你可以做的是创建一个新文件,并将两片输入缓冲区保存到它。
var fs=require('fs')
var buffer=fs.readFileSync('input_file')
fs.writeFileSync("output",buffer.slice(0,20))
fs.appendFileSync("output",buffer.slice(50,100))