最简单的方法是用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. 40个最好的Tumblr主题
  3. 使用Cross-Page Postback(跨页面提交)在页面间传递数据
  4. 【Vue 3.0 新特性(一)】源码的组织方式
  5. Oracle 空间查询, 数据类型为 sdo_geometry
  6. leetcode刷题:1.无重复字符的最长字串
  7. HDU 1160 FatMouse#39;s Speed DP题解
  8. List与数组的相互转换
  9. JDK中ThreadDump诊断Java代码中的线程死锁问题
  10. FISCO BCOS 控制台 call调用已经部署的合约 不存在does not exist
  11. Mac如何解决vi vim光标移动慢问题
  12. 实时操作系统与通用操作系统的一些比较
  13. 传教士 野人 过河问题
  14. VB.net 播放 WAV音乐
  15. 新冠死亡率居高不下,为什么偏偏是意大利?
  16. 电脑如何分区重装系统
  17. java arraylist.add(),Java ArrayList add()方法与示例
  18. Pinyin4j的基本用法
  19. Linux-软件安装管理
  20. 算法竞赛入门习题2-3倒三角

热门文章

  1. JavaScript闭包之经典案例
  2. 普陀区鼓励企业科创政策包(普陀科创十条)
  3. 计算机软件工程一等奖,兰州大学本科生荣获2016年中国大学生计算机设计大赛一等奖...
  4. ThinkPHP 路由使用
  5. android ListView 的多选模式
  6. 手把手教你理解圣杯布局和双飞翼布局
  7. Ubuntu ens33网卡无ip
  8. 计算机文化基础在线作业答案,2016春华东石油《计算机文化基础》第一阶段在线作业.doc...
  9. ESP8266 Flash的分布及其读写操作
  10. 水质评价---2综合水质标识指数法