BufferedReaderとPrintWriterを使用して、入力ファイルの各行を調べ、いくつかの行に変更を加えて、結果を出力しています。行に変更が加えられていない場合は、出力ファイルにそのまま印刷されます。ただし、何らかの理由で、プロセスが途中で終了します。コードは次のようになります。
BufferedReader in = new BufferedReader(new FileReader("in.txt"));
FileOutputStream out = new FileOutputStream("out.txt");
PrintWriter p = new PrintWriter(out);
String line = in.readLine();
while(line!=null)
{
if(line is special)
do edits and p.println(edited_line);
else
p.println(line);
line = in.readLine();
}
ただし、奇妙な理由で、このプロセスは入力ファイルの最後に向かって途中で終了します(実際には1行の半分が出力されます)。これの明白な理由はありますか?whileループは明らかにnullで終了しています。そして、それは私の25万行以上のtxtファイルの終わりに近づいています。ありがとう!