【发布时间】:2014-03-15 11:47:56
【问题描述】:
我正在使用 node-webkit 创建一个文本编辑器。当用户单击“保存”菜单项时,我使用 fs.writeFile() 方法将纯文本文件写入磁盘:
fs.writeFile(file, txt, function (err) {
if (err) throw err;
console.log("file saved");
});
但是,它不会保存通过“txt”变量传递的整个字符串。它只将前 300 个字符左右保存到文件中。
我尝试过使用这种方法,以及同步方法 fs.writeFileSync。两者都有同样的问题。我已经尝试记录传递给该方法的 txt 字符串,以确保那里没有任何问题。
任何想法为什么我没有在我保存的文件中获得全文?
【问题讨论】:
-
您是否尝试过删除前 200 个字符来保存文件?
-
我试过缩小和放大字符串。如果它低于约 300 个字符,它会保存完整的内容。任何事情都没有。
-
您是否尝试过使用流写入文件?
-
刚刚试了一下,结果是一样的: var stream = fs.createWriteStream(file); stream.once('open', function(fd) { stream.write(txt); stream.end(); });
-
txt是如何创建的?它是如何设置的?
标签: javascript node.js node-webkit