gpt4 book ai didi

node.js如何将字符串插入文件开头但不替换原始文本?

转载 作者:IT老高 更新时间:2023-10-28 23:23:41 40 4
gpt4 key购买 nike

下面的代码将 somestring 插入到文件中,但也会替换文件中的文本。如何解决这个问题?

fd = fs.openSync('file', 'r+')
buf = new Buffer('somestring')
fs.writeSync(fd, buf, 0, buf.length, 0)
fs.close(fd)

最佳答案

使用 a+ 标志以附加模式打开文件

var fd = fs.openSync('file', 'a+');

或者使用定位write。为了能够追加到文件末尾,请使用 fs.appendFile:

fs.appendFile(fd, buf, err => {
//
});

写入文件开头:

fs.write(fd, buf, 0, buf.length, 0);

编辑:

我想没有一个单独的方法调用。但是你可以复制文件的内容,写入新数据,并追加复制的数据。

var data = fs.readFileSync(file); //read existing contents into data
var fd = fs.openSync(file, 'w+');
var buffer = Buffer.from('New text');

fs.writeSync(fd, buffer, 0, buffer.length, 0); //write new data
fs.writeSync(fd, data, 0, data.length, buffer.length); //append old data
// or fs.appendFile(fd, data);
fs.close(fd);

请注意,如果这些操作在初始化期间不只执行一次,则必须使用这些方法的异步版本,因为它们会阻塞事件循环。

关于node.js如何将字符串插入文件开头但不替换原始文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17586831/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com