我正在尝试编写一个函数,该函数将从文件中读取数据并用其他东西替换其中的一小部分,而不必重写数据。例如,如果文件中的数据是" a,b,c,d"我想替换" b"用" e"不重写c和d到文件。任何人都可以帮忙吗?我尝试使用String.split('')将内容存储在数组中,然后替换所需的字符,但它不起作用(node.js控制台中没有错误)
这是我用来从一个名为file.txt的文件中读取并写入名为file2.txt的文件的代码。现在我想替换file.txt
中的一小部分内容fs.createWriteStream("file2.txt");
fs.readFile("file.txt", function read(err, data){
if(err){
throw err;
}
content = data.toString();
console.log(content);
fs.writeFile("file2.txt",content , function(err){
if(err){
throw err;
}
});
});
答案 0 :(得分:0)
在javascript字符串是不可变的,你不能直接将“a,b,c,d”改为“a,e,c,d”,你需要创建一个新的字符串。
如果您要创建一个新字符串,我认为最好的方法是读取数据piece by piece并在读取整个数据时更改所需的字符。然后只需将数据写入新文件。