node.js - node fs模块的写入问题
本文介绍了node.js - node fs模块的写入问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
我现在通过一个mp3创建了一个 可读流,用来读取数据,让后用一个可写流入写入数据,但是写出的数据为空,不知道为什么?求大神讲究我的错误
var ws21_4 = fs.createWriteStream(__dirname + '/test/Until You.mp3');
var rs21_4 = fs.createReadStream(__dirname + '/test/untiyou.mp3');
rs21_4.on('data', function (data) {
var flag = ws21_4.write(data);
console.log(flag);
if (flag == false) {
//ws21_4.close(); // 2.加这么一句 会有64K很少一部分。
}//1. 输出的文件0字节。。。
});
所以我猜想会不会我哪里流程没有处理正确?但是查了文档也没找到啥。
解决方案
fs.createReadStream(__dirname + '/test/Until You.mp3')
.pipe(fs.createWriteStream(__dirname + '/test/untiyou.mp3'));
或者
var rs = fs.createReadStream(__dirname + '/test/Until You.mp3');
var ws = fs.createWriteStream(__dirname + '/test/untiyou.mp3');
rs.on('data', function (chunk) {
if (ws.write(chunk) === false) {
rs.pause();
}
});
rs.on('end', function () {
ws.end();
});
ws.on('drain', function () {
rs.resume();
});
这篇关于node.js - node fs模块的写入问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文