ode.js如何读取和写入数组作为二进制文件
ode.js如何读取和写入数组作为二进制文件
我有一个大数组,需要从文件中读取。通常,我会将其保存为JSO,但是UTF-8编码文件的大小要大得多,而且我对大小的要求非常严格,因此每个Kb都很珍贵。这是我到目前为止的内容://
var toBuffer = require('typedarray-to-buffer');
var buffer = toBuffer(myArray);
va
ode.js如何读取和写入数组作为二进制文件
我有一个大数组,需要从文件中读取。通常,我会将其保存为JSO,但是UTF-8编码文件的大小要大得多,而且我对大小的要求非常严格,因此每个Kb都很珍贵。
这是我到目前为止的内容:
//
var toBuffer = require('typedarray-to-buffer');
var buffer = toBuffer(myArray);
var wstream = ('./myArray');
wstream.write(buffer);
// later...
var buff = new Buffer(data); // <-- file data passed in as a buffer
myArray = buff; // <--still binary :-(
我正在关注此helpful article about writing binary files,但是它没有介绍如何读回它们。我认为我所处的部分是将缓冲区数据转回数组。
更新
这里是数组在写入文件之前的cole.log()
:
Int2Array {
'0': 2107281600,
'1': -70226405,
'2': 27454611,
'': 17277519,
'4': -1927927544,
'5': -2482158,
'6': -129552728,
'7': -17745851,
'8': -784581845,
'9': 651425656,
'10': -54521241,
'11': -178888022,
'12': 1679049410,
'1': -172851840,
...
回答如下:实际上,将二进制文件写入文件非常简单。对FS中的writeFileSync方法使用“二进制”编码类型字符串。像这样:
// Assume you have an Int2Array called myArray
var fs = require('fs');
fs.writeFileSync('/tmp/test.bin', myArray, 'binary');
现在您可以检查文件的大小是否与类型数组的字节大小匹配。例如,myArray.length * 4将是您的数据大小,在我的情况下为1228624。文件系统显示:
$ ls -l /tmp/test.bin
-rw-rw-r-- 1 flatmax flatmax 1228624 May 5 17:58 /tmp/test.bin
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2024-05-07 12:09:31
推荐阅读
留言与评论(共有 18 条评论) |
本站网友 成人哺乳 | 28分钟前 发表 |
而且我对大小的要求非常严格 | |
本站网友 潮爆大状 | 19分钟前 发表 |
但是它没有介绍如何读回它们 | |
本站网友 如箭在弦 | 6分钟前 发表 |
-1927927544 | |
本站网友 健康与生活 | 11分钟前 发表 |
更新这里是数组在写入文件之前的cole.log():Int2Array { '0' | |
本站网友 邢台二手房 | 1分钟前 发表 |
-70226405 | |
本站网友 宝宝预防针 | 1分钟前 发表 |
我会将其保存为JSO | |
本站网友 德信泊林印象 | 0秒前 发表 |
'1' | |
本站网友 印刷erp系统 | 20分钟前 发表 |
但是它没有介绍如何读回它们 | |
本站网友 田延光 | 8分钟前 发表 |
58 /tmp/test.bin | |
本站网友 高速电主轴 | 1分钟前 发表 |
我认为我所处的部分是将缓冲区数据转回数组 | |
本站网友 金莲花的功效 | 3分钟前 发表 |
文件系统显示:$ ls -l /tmp/test.bin -rw-rw-r-- 1 flatmax flatmax 1228624 May 5 17 | |
本站网友 长春航天医院 | 24分钟前 发表 |
'1' | |
本站网友 观音坐莲式 | 22分钟前 发表 |
更新这里是数组在写入文件之前的cole.log():Int2Array { '0' | |
本站网友 环境卫生整治方案 | 1分钟前 发表 |
'9' | |
本站网友 手机问答 | 17分钟前 发表 |
但是它没有介绍如何读回它们 | |
本站网友 杨昌鹏 | 5分钟前 发表 |
'9' | |
本站网友 四川男科 | 11分钟前 发表 |
而且我对大小的要求非常严格 |