我正在尝试通过在文件末尾使用 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 填充缓冲区。2.使用JSON5解析json内容。
最终解决方案 1. 用 ' ' 填充 Buffer 2. 使用 JSON parse 来解析 Json 内容