同步、异步、简单文件的写入都不适合大文件的写入,性能较差,容易导致内存溢出。
创建、写入、关闭可写流
// 创建可写流
var wf = fs.createWriteStream(file)
// 写入
wf.write(data);
// 关闭
wf.end();
监听流
可以通过监听流的open和close事件来监听流的打开和关闭。有两种方式:on
和once
once
绑定的是一个一次性事件,事件将会在触发一次后自动失效
wf.on(eventStr, callback);
wf.once(eventStr, callback);
例子
var fs = require('fs');
// 创建写入流
var wf = fs.createWriteStream('test4.txt');
// 绑定监听
wf.on('open', function () {
console.log('文件已打开...')
});
wf.once('close', function () {
console.log('文件已关闭...');
});
// 写入
wf.write("hello world");
wf.write("你好,世界");
wf.write("中华人民共和国");
// 关闭流
wf.end();