node.js的文件流操作

上篇講解了關於node的文件操作,但爲什麼還有文件的流操作呢
搞計算機的都知道 計算機所有的東西最終都會轉換成二進制文件流的形式
所以一般在很大的文件進行操作的時候,使用二進制流的形式 進行文件操作無非會大大縮減文件操作的消耗時間 小文件操作就不需要
舉例子:一般幾百兆的壓縮包等等
流的操作 一般都是大文件

// 文件流 寫入文件
var str="";
var data="從數據庫中讀取數據,然後寫入到文件中\n";
for(var i=0;i<500;i++){
	str+=data;
}
var writeStream=fs.createWriteStream('./data/output.txt');
writeStream.write(str);
writeStream.end();// 文件寫入結束
// 監聽文件寫入完成的事件
writeStream.on('finish',()=>{
	console.log('寫入完成!');
})
// 文件流 讀取文件
var readStream=fs.createReadStream('./data/input.txt');// 創建讀取流
var count=0;
var str='';
readStream.on('data',(data)=>{
	str+=data;
	count++;
})
readStream.on('end',()=>{
	console.log(str,count);
})

readStream.on('error',(err)=>{
	console.log(err);
})

// 管道流 用於複製大文件
var readStream=fs.createReadStream('./imgs/km.png');
var writeStream=fs.createWriteStream('./data/1.png');
readStream.pipe(writeStream);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章