我正在使用fs
模块的appendFile()
函数将JSON数据附加到文件中。
追加后我需要删除文件中的最后一个字符并附加一个新字符。我尝试使用\b
转义序列来删除最后一个字符,但它没有用。
此外,了解如何编辑文件中间的字符非常有用。
答案 0 :(得分:1)
您可以尝试一下; 使用
将文件内部JSON的大括号']'替换为'逗号'。var fd = fs.openSync("file.txt", "r+");
var currentDataLength = data.length;
var buf = new Buffer(","); // create a buffer
if(currentDataLength > 2) {
fs.writeSync(fd, buf, 0, buf.length, currentDataLength-1); // this replaces '[' with ',' to separate the objects in the JSON
}
var inputData = `${JSON.stringify({testData: 'Dare Something'})}]`; // notice that array closing brace ']' is included
currentDataLength += inputData.length; //update the variable holding the JSON Data length of you file
fs.writeFileSync('file.txt', inputData, {encoding: 'utf8', flag: 'a+'}); //updates file