您现在的位置是:首页 > 电脑 > 

ode.js如何读取和写入数组作为二进制文件

2025-07-19 00:18:33
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组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/diannao/884741.html

相关标签:无
上传时间: 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分钟前 发表
而且我对大小的要求非常严格