2017-08-21 14 views
0

1つのファイルから別のファイルに書き込もうとしています。私はコンソールログを見ると、.writeが一貫して呼び出されていることがわかります。変換されたファイルが作成されますが、そのファイルを空にすると空になります。コンソールログには、正しい回線データが表示されます。私はここで間違って何をしていますか?あなたが必要なReadline.write空白ファイルを作成する

var fileRebuilder = readline.createInterface({ 
    input: fs.createReadStream('./' + directory + file), 
    output: fs.createWriteStream('./' + directory + 'Converted' + file), 
}); 
var lineRead = 0; 
fileRebuilder.on('line', function (line) { 
    lineRead++; 
    if (linesForRemoval.indexOf(lineRead) > -1) { 
    } else { 
     fileRebuilder.write(line); 
    } 
}).on('close', function() { 
    fileRebuilder.close(); 
}); 

答えて

1

fileRebuilder.output.write(line + "\n"); 

の作業例を:

以下のコードは、スニペット

const readline = require('readline'); 
const fs = require('fs'); 
function FileRebuilder(directory,file,linesForRemoval){ 
    const fileRebuilder = readline.createInterface({ 
     input: fs.createReadStream(directory + '/' + file), 
     output: fs.createWriteStream(directory + '/converted-' + file), 
    }); 
    console.log("[fileRebuilder]","start"); 
    var lineRead = 0; 
    fileRebuilder.on('line', function (line) { 
     lineRead++; 
     if (linesForRemoval.indexOf(lineRead) > -1) { 
     console.log("@[ line",lineRead,"]","removing!"); 
     } else { 
     console.log("@[ line",lineRead,"]","writing!"); 
     fileRebuilder.output.write(line + "\n"); 
     } 
    }).on('close', function() { 
    console.log("[fileRebuilder]","closed"); 
    fileRebuilder.close(); 
    }); 
} 

FileRebuilder(__dirname,'sample.txt',[4,8]); 
+0

はあなたにEMXに感謝します! – DimlyAware

関連する問題