-3
需要關於如何通過具有特定值的兩行之間的行循環遍歷文件的幫助。我能夠按行讀入行,但兩行具體的值之間不能循環在兩個文件之間循環遍歷node.js中的文件
如
日期
start_of_data
數據1
數據2
end_of_data
更多數據1
更多數據2
需要得到start_of_data和end_of_data之間的所有行。感謝您的幫助。
需要關於如何通過具有特定值的兩行之間的行循環遍歷文件的幫助。我能夠按行讀入行,但兩行具體的值之間不能循環在兩個文件之間循環遍歷node.js中的文件
如
日期
start_of_data
數據1
數據2
end_of_data
更多數據1
更多數據2
需要得到start_of_data和end_of_data之間的所有行。感謝您的幫助。
可能你是新來的StackOverflow和Node.js的所以人們反對投票你的問題的原因「沒有把任何努力,你只是找人,誰可以做你的工作」
我發佈答案讓你明白這樣做的另一種方式,也從要求前進沒有做足夠的研究這些問題,而不是把任何努力避免
注:這個答案不只是循環,但使用良好的人機界面稱爲readline。當文件非常大時,這非常好,因爲它使用節點流。
代碼:
const readline = require('readline');
const fs = require('fs');
const filename = 'some.txt';
const start = 'start_of_data';
const end = 'end_of_data';
var write_active = false;
const rl = readline.createInterface({
input: fs.createReadStream(filename)
});
rl.on('line',function(line){
//Start and end logic
if(line == start){
write_active = true;
}
else if(line == end){
write_active = false;
}
//Write between the lines
if(write_active && (line!=start)){
console.log(line);
}
})
謝謝@ user3151330。是的,我對stackoverflow和node.js是新手。我寫了下面的代碼並卡住了。無論如何,在閱讀您的代碼後意識到我錯過了什麼。 VAR INDI = '假' 變種lineReader =要求( '的ReadLine')createInterface({ 輸入:需要( 'FS')createReadStream( './ input5.txt') }); lineReader.on( '線',函數(線){ 如果(line.includes( 'start_of_data')){ INDI = '真' } 如果(INDI === '真'){ 控制檯.log(line) } if(line.includes('end_of_data')){ indi ='false' } }); – Joma