【问题标题】:save file from array using fs without seperator使用不带分隔符的 fs 从数组中保存文件
【发布时间】:2017-08-19 03:34:56
【问题描述】:

我在将数组保存到文件时遇到问题,我现在不总是在新文件中得到“,”分隔符,我假设这意味着数组中的新行。所以例如我有文件

this is file
with text
to check

我读了这个文件保存到数组做一些修改,然后我想保存这个文件。

 fs.writeFile('to_save', file.map(function(x){return x + '\n'}));

当我这样做时,我总是用 , 获取新文件,

,this is file
,with text
,to check

当我尝试使用删除第一个字母时

fs.writeFile('to_save', file.map(function(x){return x = x.substring(1, x.length) + '\n'}));

它删除了我的 t、w 和 t,所以我的问题是如何骑这个分隔符?

【问题讨论】:

    标签: node.js fs


    【解决方案1】:

    使用连接代替地图

    fs.writeFile('to_save', file.join("\n"));
    

    writeFile 需要一个字符串、一个缓冲区或一个 Uint8Array 作为数据。它会隐式调用数组上的toString(),这就是为什么你会得到逗号。

    【讨论】:

    • 那么为什么加入工作,如果仍然 writeFile 将调用 toString() ?
    • 它会隐式调用 array 上的 toString(),join 返回一个字符串
    • 作为记录,这也适用于我的 appendFile 需求:fs.appendFile('file_name.txt', data.join("\n"), function (err) {}...
    猜你喜欢
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-25
    相关资源
    最近更新 更多