我试图通过在文件末尾使用1024个字节来写一些关于文件的元信息。
var buffer = new Buffer(1024);
buffer.write(JSON.stringify(data));
一旦字符串被复制到缓冲区,我就像这样保存文件 -
fs.write(fd, buffer, 0, buffer.length, fileSize,callback);
当我阅读文件时,我只想提取数据变量中保存的元信息。我这样做 -
buffer = new Buffer(1024);
fs.read(fd, buffer, 0, buffer.length, fileSize, function(err, count, buffer) {
console.log(buffer.toJSON())
}
不幸的是,上面的过程获取了json数据,但是它周围有一些垃圾数据。 buffer.toJSON()方法因此失败。对于这样的问题,我的方法应该是什么?
修改 缓冲区没有完全填满。
当前解决方案: 1.使用null填充Buffer。 2.使用JSON5解析json内容。
最终解决方案 1.用''填充缓冲区 2.使用JSON解析来解析Json内容