我正在使用node-webkit创建一个文本编辑器。当用户单击“保存”菜单项时,我会使用fs.writeFile()方法将纯文本文件写入磁盘:
fs.writeFile(file, txt, function (err) {
if (err) throw err;
console.log("file saved");
});
但是,它没有保存通过“txt”变量传递的整个字符串。它只将前300个字符保存到文件中。
我尝试过使用此方法和同步方法fs.writeFileSync。两者都有同样的问题。我已经尝试记录传递给方法的txt字符串,以确保那里没有任何错误。
为什么我没有在保存的文件中获取全文?
答案 0 :(得分:1)
根据这篇帖子:node-webkit Google群组中的https://groups.google.com/forum/#!topic/node-webkit/3M-0v92o9Zs,可能是编码问题。尝试更改编码。我有同样的问题,并将我的编码更改为utf16le,如该线程中指定的那样,它修复了问题;整个字符串被写入文件。
我的代码现在是:fs.writeFileSync(path, data, {encoding:'utf16le'});