标签:配置文件 str 符号 class 文件读取 nod 二进制 pat 删除
该方法可用于修改配置文件,直接上代码
fs.readFile(‘test1.json‘,‘utf8‘,function (err, data) { if(err) console.log(err); var test1=JSON.parse(data); test1.name="li"; var t = JSON.stringify(test1); fs.writeFileSync(‘test1.json‘,t) });
正常情况下从JSON文件读取到字符后再通过JSON.parse没什么问题,只要格式不出错。
有时在确保JSON格式正确时仍然会出现unexpected token异常
经过调查发现里面有不会显示的unicode字符
于是确定是UTF-8的问题,utf-8分有dom版和无dom版,一般编辑器不刻意设置会默认保存为带dom的utf8
解决办法是先将读到的文件转成二进制,然后检索dom符号删除
代码实现部分
function readText(pathname) { var bin = fs.readFileSync(pathname); if (bin[0] === 0xEF && bin[1] === 0xBB && bin[2] === 0xBF) { bin = bin.slice(3); } return bin.toString(‘utf-8‘); }
标签:配置文件 str 符号 class 文件读取 nod 二进制 pat 删除
原文地址:http://www.cnblogs.com/jarvisjin/p/6290474.html