Nodejs: 读写二进制文件
最简单的方法是用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: 读写二进制文件相关推荐
- R语言读写二进制文件:WriteBin()、readBin()
R语言读写二进制文件:WriteBin().readBin() 目录 R语言读写二进制文件:WriteBin().readBin() WriteBin()和readBin()语法
- python读写二进制文件(读写字节数据)
python读写二进制文件(读写字节数据) 你想读写二进制文件,比如图片,声音文件等就是常见的二进制文件. 使用模式为 rb 或 wb 的 open() 函数来读取或写入二进制数据.比如: # Rea ...
- 一种C#读写二进制文件的通用方法
在日常的工作中,我们经常需要进行一些二进制文件或协议的读写操作,用C#解析二进制文件常常是一件比较麻烦且容易出错的工作,本文介绍了一种在C#中实现快速读写二进制文件通用的方法. 以一个解析Mp3 ID ...
- python读写二进制文件的方法
本文实例讲述了python读写二进制文件的方法.分享给大家供大家参考.具体如下: 初学python,现在要读一个二进制文件,查找doc只发现 file提供了一个read和write函数,而且读写的都是 ...
- QT学习:读写二进制文件
使用QDataStream读写二进制文件. 具体用法见如下代码: (1)头文件"mainwindow.h"的具体代码如下: #include <QMainWindow> ...
- Java读写二进制文件
import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io ...
- C++实现对象序列化和反序列化(读写二进制文件)操作
相关函数介绍 在我们的C语言中读写二进制文件一般使用的fread.fwrite全局函数,当然也可以使用更底层的read和write函数.在我们的C++中 通过ofstream 和 ifstream 对 ...
- Python+pickle读写二进制文件小案例
对于二进制文件,不能使用记事本或其他文本编辑软件进行正常读写,也无法通过Python的文件对象直接读取和理解二进制文件的内容.必须正确理解二进制文件结构和序列化规则,才能准确地理解二进制文件内容并且设 ...
- 3-6 读写二进制文件
3-4 读写二进制文件 u本节学习目标:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:offic ...
最新文章
- 机器学习基础专题:特征工程
- Leetcode 198.打家劫舍 (每日一题 20210622)
- 《JavaScript机器人编程指南》——1.2 NodeBot是什么,基本词汇还有哪些
- [swift] LeetCode 49. Group Anagrams
- vue项目打包部署到Tomcat上,一刷新就报错404
- 雷达篇(四)雷达工作波段
- windows 资源监视器
- shiro 原理简介
- 论文专题笔记:part segmentation
- 射频中经常是用50欧姆作为阻抗匹配的标准的原因
- 【常用软件】Ubuntu-划词翻译软件Stardict
- pan图像全色图像_HTML5图像效果–棕褐色
- 集思录封闭基金数据python爬取写入excel表
- fileList.slice(-3)的意思
- 目标检测 YOLOv5 - 卷积层和BN层的融合
- FPGA经验谈系列文章——FPGA开发方向以及算法开发模型
- Linux中使用SCP命令进行上传或者下载文件
- 关于无线定位技术 学习过程
- 记一个win10 IPsec vpn注册表问题
- 龙芯处理器下面的golang第三方库或框架实地编译与运行测试
热门文章
- 查理芒格子女:父亲芒格教给我们的7条人生法则
- 如何用matlab计算比例尺,宝黛爱情仍属于狭义的才子佳人小说体系。 ( )
- html5云彩飘过特效,Html5添加超有趣的白云飘动特效插件教程
- 游戏图片推荐格式及压缩方式。TexturePacker、UE4、 贴图合并节约批次、贴图寻址、MipMap(一、参数设置)
- java文件的路径怎么设置,如何在Java中设置路径
- “三足鼎立”格局之下,同城实业能不能撑起90亿估值?
- Linux中python、C++和C语言的多线程用法整理(_thread、threading、thread和pthread)
- podman镜像管理
- 翅膀里面是个r_r带翅膀是什么车牌
- 【EF英孚教育】报道事故实用英文 12月30日