中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Node.js中readline如何實現逐行讀取、寫入文件內容

發布時間:2021-06-26 15:09:38 來源:億速云 閱讀:375 作者:小新 欄目:web開發

這篇文章主要介紹了Node.js中readline如何實現逐行讀取、寫入文件內容,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

什么是Readline

Readline是Node.js里實現標準輸入輸出的封裝好的模塊,通過這個模塊我們可以以逐行的方式讀取數據流。使用require(“readline”)可以引用模塊。

效果圖如下:

左邊1.log 為源文件

右邊1.readline.log為復制后的文件

下邊為命令行輸出

Node.js中readline如何實現逐行讀取、寫入文件內容

實現方式一:

var readline = require('readline'); 
var fs = require('fs'); 
var os = require('os'); 
var fReadName = './1.log'; 
var fWriteName = './1.readline.log'; 
var fRead = fs.createReadStream(fReadName); 
var fWrite = fs.createWriteStream(fWriteName); 
var objReadline = readline.createInterface({ 
 input: fRead, 
// 這是另一種復制方式,這樣on('line')里就不必再調用fWrite.write(line),當只是純粹復制文件時推薦使用 
// 但文件末尾會多算一次index計數 sodino.com 
// output: fWrite, 
// terminal: true 
}); 
 
 
var index = 1; 
objReadline.on('line', (line)=>{ 
 var tmp = 'line' + index.toString() + ':' + line; 
 fWrite.write(tmp + os.EOL); // 下一行 
 console.log(index, line); 
 index ++; 
}); 
 
objReadline.on('close', ()=>{ 
 console.log('readline close...'); 
});

實現方式二:

var readline = require('readline'); 
var fs = require('fs'); 
var os = require('os'); 
 
var fReadName = './1.log'; 
var fWriteName = './1.readline.log'; 
var fRead = fs.createReadStream(fReadName); 
var fWrite = fs.createWriteStream(fWriteName); 
 
var enableWriteIndex = true; 
fRead.on('end', ()=>{ 
 console.log('end'); 
 enableWriteIndex = false; 
}); 
 
var objReadline = readline.createInterface({ 
 input: fRead, 
 output: fWrite, 
 terminal: true 
}); 
 
var index = 1; 
fWrite.write('line' + index.toString() +':'); 
objReadline.on('line', (line)=>{ 
 console.log(index, line); 
 if (enableWriteIndex) { 
 // 由于readline::output是先寫入后調用的on('line')事件, 
 // 所以已經讀取文件完畢時就不需要再寫行號了... sodino.com 
 index ++; 
 var tmp = 'line' + index.toString() + ':'; 
 fWrite.write(tmp); 
 } 
}); 


objReadline.on('close', ()=>{ 
 console.log('readline close...'); 
});

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Node.js中readline如何實現逐行讀取、寫入文件內容”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

迁西县| 浮山县| 阜新| 樟树市| 吴川市| 沙河市| 石门县| 合江县| 禄劝| 丹寨县| 理塘县| 宁南县| 府谷县| 页游| 富宁县| 西贡区| 永昌县| 宁晋县| 株洲市| 辉南县| 呼伦贝尔市| 米易县| 二连浩特市| 尉犁县| 济南市| 丽江市| 定州市| 奉新县| 治多县| 丰镇市| 武鸣县| 甘孜县| 漾濞| 辽阳县| 阜新市| 泉州市| 屏山县| 新龙县| 嘉善县| 阜阳市| 乌什县|