簡體   English   中英

如何在node.js中文件的每一行末尾添加文本?

[英]How can I add text to the end of each line of a File in node.js?

我有一個名為Names.txt的文件; 在里面是一個人名列表,用一行分隔。 例如;

Joe
Alex
Patricia
Emma

如何在node.js中編輯文件,以便在每行中添加一個“:lastname”?

您將得到文件,分成幾行,修改這些行,然后再次寫回文件

fs.readFile('/path/to/Names.txt', function(err, result) {

    if (err) // handle errors

    var lines = result.split(/(\n|\r\n)/);

    var new_content = lines.map(function(line) {
        return line + ' lastname';
    }).join("\r\n")

    fs.writeFile('/path/to/Names.txt', new_content, 'utf8', function(err) {
        if (err) // handle errors
        console.log('The file has been saved!');
    });
});

這就是關鍵。 當然,您可以保留名字和姓氏的映射,並插入適當的姓氏,或進行其他各種操作,但是您仍然必須經歷相同的過程,獲取,在換行符上分割,修改,連接在一起並保存。

基於先前的答案,您將希望通過將UTF8編碼實現為文件路徑之后的參數來添加UTF8編碼,如下所示:

fs.readFile('/path/Names.txt', 'utf8', function(err, res) {
  if (err) throw err;

  var lines = res.split(/\n/);
  var new_content = lines.map(function(line) {
    return line + ' lastname';
  }).join('\n');

  fs.writeFile('/path/Names.txt', new_content, 'utf8', function(err) {
    if (err) throw err;
    console.log('The file has been saved!');
  });
});

這應該可以解決您的緩沖區看起來像是從讀取命令返回的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM