如何在Node.js中追加到新行

j8ag8udp  于 2023-01-30  发布在  Node.js
关注(0)|答案(6)|浏览(234)

我正在尝试使用Node.js将数据附加到日志文件中,运行正常,但不会转到下一行。\n在我下面的函数中似乎不起作用。有什么建议吗?

function processInput ( text ) 
{     
  fs.open('H://log.txt', 'a', 666, function( e, id ) {
   fs.write( id, text + "\n", null, 'utf8', function(){
    fs.close(id, function(){
     console.log('file is updated');
    });
   });
  });
 }
u0njafvf

u0njafvf1#

看起来您是在Windows上运行此程序(给定H://log.txt文件路径)。
尝试使用\r\n,而不仅仅是\n
老实说,\n还可以;您可能正在记事本或其他不显示非Windows换行符的工具中查看日志文件。请尝试在其他查看器/编辑器(例如写字板)中打开它。

ccgok5k5

ccgok5k52#

请改用os.EOL常量。

var os = require("os");

function processInput ( text ) 
{     
  fs.open('H://log.txt', 'a', 666, function( e, id ) {
   fs.write( id, text + os.EOL, null, 'utf8', function(){
    fs.close(id, function(){
     console.log('file is updated');
    });
   });
  });
 }
sigwle7e

sigwle7e3#

使用\r\n组合在节点js中追加一个新行

var stream = fs.createWriteStream("udp-stream.log", {'flags': 'a'});
  stream.once('open', function(fd) {
    stream.write(msg+"\r\n");
  });
vsdwdz23

vsdwdz234#

或者,您可以使用fs.appendFile方法

let content = 'some text';
content += "\n";
fs.appendFile("helloworld.txt", content, (err) => {
    return console.log(err);
});
fjaof16o

fjaof16o5#

const { writeFileSync } = require('fs');

writeFileSync(
  './content/result-sync.txt',
  `\n Here is the result : ${first}, ${second}`,
  { flag: 'a' }
)
x7rlezfr

x7rlezfr6#

试试看:

var fs =require('fs');

const details=require('./common');
var info=JSON.stringify(details);

const data=fs.writeFileSync('./tmp/hello/f1.txt',`\n${info}`,{'flag':'a'},function(err,data){
    
if(err) return console.error("error",error);
    console.log(data);

});

//执行步骤1.安装所有需要的模块(即此处需要fs)。2.此处(. common)文件包含我从其他文件导入的json对象。3.然后导入该文件并存储在details变量中。4.执行操作时,json数据必须转换为字符串格式5. WriteFileSync(它是一个同步函数)6.一旦函数执行完成,将返回响应。www.example.com在数据变量中响应,并在console.log中打印7.store response in data variable and print in console.log

相关问题