JS生成大块数据的方法

216 阅读1分钟

#【前言】

平常我们常常需要用到大块的数据,用于测试一些相应的使用场景,这个时候可以通过如下方法生成:


/*
	同步、异步、简单文件的写入都不适合大文件的写入,性能较差,容易导致内存溢出
 */
var fs = require("fs");
 
//流式文件写入
//创建一个可写流
/*
	fs.createWriteStream(path[, options])
		- 可以用来创建一个可写流
		- path,文件路径
		- options 配置的参数
 */
var ws = fs.createWriteStream("hello3.js");
 
//可以通过监听流的open和close事件来监听流的打开和关闭
/*
	on(事件字符串,回调函数)
		- 可以为对象绑定一个事件
	once(事件字符串,回调函数)
		- 可以为对象绑定一个一次性的事件,该事件将会在触发一次以后自动失效
* */
ws.once("open",function () {
	console.log("流打开了~~~");
});
 
ws.once("close",function () {
	console.log("流关闭了~~~");
});
 
//通过ws向文件中输出内容
ws.write(`var str = "${Buffer.allocUnsafe(3485760).toString('base64')}"`);
 
//关闭流
ws.end();

这样一来,我们就生成了一个大小在4mb左右的hello3.js文件,这个文件中,已经把这块数据赋值给了str,也可以测试内存的情况了。