最简单的方法是用fs的writeFileSync和readFileSync如下所示:

var fs = require('fs');
var crypto = require('crypto');//产生32位随机字节
var wbuf = crypto.randomBytes(32);
console.log(wbuf);try {//把32位随机字节写到文件"binaryfile"fs.writeFileSync("binaryfile", wbuf);//读取文件"binaryfile"var rbuf = fs.readFileSync("binaryfile");console.log(rbuf);
} catch(err) {console.log(err);
}

从输出可以看到,随机产生的32位字节被完整的写入文件又读取回来。

另外还有一种用字节流的方法:

var fs = require('fs');function writeBinary(filename, buf, callback) {var wstream = fs.createWriteStream(filename);wstream.write(buf);wstream.end();wstream.on('finish', function() {callback();});wstream.on('error', function(err) {callback(err);});}function readBinary(filename, callback) {var rstream = fs.createReadStream(filename);var chunks = [];var size = 0;rstream.on('readable', function() {var chunk = rstream.read();if (chunk != null) {chunks.push(chunk);size += chunk.length;}});rstream.on('end', function() {callback(null, Buffer.concat(chunks, size));});rstream.on('error', function(err) {callback(err, null);});}var crypto = require('crypto');
var wbuf = crypto.randomBytes(32);
console.log(wbuf);writeBinary("binaryfile", wbuf, function(err) {if (err) {console.log(err);return;}readBinary("binaryfile", function(err, rbuf) {if (err) {console.log(err);} else {console.log(rbuf);}});});

上面两种方法执行效果是一样的,暂时没有发现有什么差别。

Nodejs: 读写二进制文件相关推荐

  1. R语言读写二进制文件:WriteBin()、readBin()

    R语言读写二进制文件:WriteBin().readBin() 目录 R语言读写二进制文件:WriteBin().readBin() WriteBin()和readBin()语法

  2. python读写二进制文件(读写字节数据)

    python读写二进制文件(读写字节数据) 你想读写二进制文件,比如图片,声音文件等就是常见的二进制文件. 使用模式为 rb 或 wb 的 open() 函数来读取或写入二进制数据.比如: # Rea ...

  3. 一种C#读写二进制文件的通用方法

    在日常的工作中,我们经常需要进行一些二进制文件或协议的读写操作,用C#解析二进制文件常常是一件比较麻烦且容易出错的工作,本文介绍了一种在C#中实现快速读写二进制文件通用的方法. 以一个解析Mp3 ID ...

  4. python读写二进制文件的方法

    本文实例讲述了python读写二进制文件的方法.分享给大家供大家参考.具体如下: 初学python,现在要读一个二进制文件,查找doc只发现 file提供了一个read和write函数,而且读写的都是 ...

  5. QT学习:读写二进制文件

    使用QDataStream读写二进制文件. 具体用法见如下代码: (1)头文件"mainwindow.h"的具体代码如下: #include <QMainWindow> ...

  6. Java读写二进制文件

    import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io ...

  7. C++实现对象序列化和反序列化(读写二进制文件)操作

    相关函数介绍 在我们的C语言中读写二进制文件一般使用的fread.fwrite全局函数,当然也可以使用更底层的read和write函数.在我们的C++中 通过ofstream 和 ifstream 对 ...

  8. Python+pickle读写二进制文件小案例

    对于二进制文件,不能使用记事本或其他文本编辑软件进行正常读写,也无法通过Python的文件对象直接读取和理解二进制文件的内容.必须正确理解二进制文件结构和序列化规则,才能准确地理解二进制文件内容并且设 ...

  9. 3-6 读写二进制文件

    3-4  读写二进制文件 u本节学习目标:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:offic ...

最新文章

  1. 机器学习基础专题:特征工程
  2. Leetcode 198.打家劫舍 (每日一题 20210622)
  3. 《JavaScript机器人编程指南》——1.2 NodeBot是什么,基本词汇还有哪些
  4. [swift] LeetCode 49. Group Anagrams
  5. vue项目打包部署到Tomcat上,一刷新就报错404
  6. 雷达篇(四)雷达工作波段
  7. windows 资源监视器
  8. shiro 原理简介
  9. 论文专题笔记:part segmentation
  10. 射频中经常是用50欧姆作为阻抗匹配的标准的原因
  11. 【常用软件】Ubuntu-划词翻译软件Stardict
  12. pan图像全色图像_HTML5图像效果–棕褐色
  13. 集思录封闭基金数据python爬取写入excel表
  14. fileList.slice(-3)的意思
  15. 目标检测 YOLOv5 - 卷积层和BN层的融合
  16. FPGA经验谈系列文章——FPGA开发方向以及算法开发模型
  17. Linux中使用SCP命令进行上传或者下载文件
  18. 关于无线定位技术 学习过程
  19. 记一个win10 IPsec vpn注册表问题
  20. 龙芯处理器下面的golang第三方库或框架实地编译与运行测试

热门文章

  1. 查理芒格子女:父亲芒格教给我们的7条人生法则
  2. 如何用matlab计算比例尺,宝黛爱情仍属于狭义的才子佳人小说体系。 ( )
  3. html5云彩飘过特效,Html5添加超有趣的白云飘动特效插件教程
  4. 游戏图片推荐格式及压缩方式。TexturePacker、UE4、 贴图合并节约批次、贴图寻址、MipMap(一、参数设置)
  5. java文件的路径怎么设置,如何在Java中设置路径
  6. “三足鼎立”格局之下,同城实业能不能撑起90亿估值?
  7. Linux中python、C++和C语言的多线程用法整理(_thread、threading、thread和pthread)
  8. podman镜像管理
  9. 翅膀里面是个r_r带翅膀是什么车牌
  10. 【EF英孚教育】报道事故实用英文 12月30日