将数字和字符串写入node.js中的文件

时间:2014-04-06 01:29:36

标签: javascript node.js file-io

我有一个node.js应用,我试图读取和写入数字和蜇到文件。

我正在写作

fs.writeFileSync(myPath, value);

其中value可以是数字或字符串。

当我阅读文件时

fs.readFileSync(myPath,'utf-8');

我把文件作为字符串。我希望有一种方法可以让我读取文件,而无需指定文件的内容是数字还是字符串。这可能吗?

我怀疑,围绕它的方法是尝试将字符串转换为数字并查看它是否失败,但我希望有更好的方法。我很高兴fs.writeStream/fs.readStream使用缓冲区(实际上是可取的),但我不确定这里最好的路径是什么。

1 个答案:

答案 0 :(得分:1)

当指定编码选项时,readFileSync返回一个字符串 否则它返回一个缓冲区。

所以说docs

要阅读缓冲区,您通常会在节点中使用.toString('utf8'),这样就无处可去。
换句话说,读取文件将返回Node中的字符串,而不是有效的整数,但是您可以检查字符串是否为数字,就像调用isNaN

一样简单
var is_number = !isNaN(file_string);