我有一个node.js应用,我试图读取和写入数字和蜇到文件。
我正在写作
fs.writeFileSync(myPath, value);
其中value可以是数字或字符串。
当我阅读文件时
fs.readFileSync(myPath,'utf-8');
我把文件作为字符串。我希望有一种方法可以让我读取文件,而无需指定文件的内容是数字还是字符串。这可能吗?
我怀疑,围绕它的方法是尝试将字符串转换为数字并查看它是否失败,但我希望有更好的方法。我很高兴fs.writeStream/fs.readStream
使用缓冲区(实际上是可取的),但我不确定这里最好的路径是什么。
答案 0 :(得分:1)
当指定编码选项时,readFileSync返回一个字符串 否则它返回一个缓冲区。
所以说docs
要阅读缓冲区,您通常会在节点中使用.toString('utf8')
,这样就无处可去。
换句话说,读取文件将返回Node中的字符串,而不是有效的整数,但是您可以检查字符串是否为数字,就像调用isNaN
var is_number = !isNaN(file_string);