大きな ASCII テキスト ファイル (20GB) を 1 行ずつ読み取り、これらの行の一部を別のファイルにコピーしたいと考えています。次のコード例では、出力ファイルへの書き込み時にデータが失われます。いくつかの printlns を使用して Reader をテストし、期待どおりに動作しました。BufferedWriter のバッファを増やしてみましたが、改善されません。また、flush() は機能しませんでした。この場合の出力ファイルは約 40MB になるはずです。
あなたが私を助けてくれることを願っています、ティムに挨拶
public void split() throws Exception{
BufferedReader inStream = new BufferedReader(new FileReader("input.txt"));
BufferedWriter outStream = new BufferedWriter(new FileWriter("output.txt"));
for(int i=0;i<700000;i++){
String tempString = inStream.readLine().trim();
if(doOtherStuff(tempString,i)){
break;
}
outStream.write(tempString);
outStream.newLine();
}
inStream.close();
outStream.close();
}