在JavaScript中写入文件时将每个字符串附加到新行[重复]

Posted

技术标签:

【中文标题】在JavaScript中写入文件时将每个字符串附加到新行[重复]【英文标题】:Appending Each String to a New Line While Writing to File in JavaScript [duplicate] 【发布时间】:2021-11-20 05:12:18 【问题描述】:

使用节点fsappendFile() 方法和JSON.stringify,如何在每次调用函数时将每个单独的字符串写入新行?

var fs = require("fs");

const writeStringToNewLines = (err) => 
  fs.appendFile("./logfile.txt", JSON.stringify(err, null, " "), (err) => );
;

writeStringsToNewLines("test1");
writeStringsToNewLines("test2");

目前它像这样写入 logfile.txt:

"test1""test2"

但我想让它把每个字符串写入一个新行:

"test1"
"test2"

【问题讨论】:

嗨!输出末尾的神奇\n 怎么样? @Philippe 你在说这个吗? fs.appendFile("./logfile.txt", JSON.stringify(err, null, "\r"), (err) => ); 或这个:writeStringsToNewLines("test1 \r"); 或这个:JSON.stringify(err + "\r", null, "") 因为不幸的是这些都没有工作。 你能检查一下这个问题吗? ***.com/q/10384340/4698373 因为这个链接里有类似的解决方案,我会投票关闭这个,谢谢@Philippe 【参考方案1】:

你可以这样做writeStringsToNewLines("string\r\n")

【讨论】:

不幸的是,这对我不起作用。它只是写"string\r\n" 那是因为你在字符串上调用了 JSON.stringify() 方法,它将转义符变成 literal 字符。 哎呀,我的错,谢谢,这确实有效! 在 *** 上说谢谢意味着“接受答案”。 接受答案需要 5 分钟。在我继续做决定之前,我也在寻找最好的解决方案。不幸的是,您的解决方案不像 @Philippe 那样动态,但我非常感谢您的帮助。【参考方案2】:

需要考虑的事项:

fs.appendFile("./logfile.txt", JSON.stringify(err, null, " ") + "\r\n", (err) => );

【讨论】:

是的,这也是正确的。字符串化 + 添加新行。 我在您的 cmets 链接中找到了解决方案。 fs.appendFile("./logfile.txt", err + os.EOL, (err) => );,尽管哈哈,我仍在努力找出最好的。我认为这可能不是那么好,因为您必须需要更多的依赖项。

以上是关于在JavaScript中写入文件时将每个字符串附加到新行[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在使用 laravel 迁移插入 db 时将字符串附加到给定的输入?

在创建 csv 文件时,Blob 在打字稿中附加逗号

c - 将数据写入 wav 文件

Spark将输出写入foreach批处理中的一个文件

空间不足时将数据写入文件开头

PHP将文件文本附加到所有javaScript文件