web-dev-qa-db-ja.com

Node.jsの新しい行に追加する方法

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');
    });
   });
  });
 }
72
DaBears

これをWindowsで実行しているようです(H://log.txtファイルパスが指定されている場合)。

\r\nの代わりに\nを使用してみてください。

正直、\nは問題ありません。ログファイルをメモ帳またはWindows以外の改行を表示しない他の何かで表示している可能性があります。別のビューアー/エディター(ワードパッドなど)で開いてみてください。

132
Rob Hruska

代わりに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');
    });
   });
  });
 }
63
shinzo