Javaプログラムでは、テキストを1行ずつ文字列変数にコピーしています。
次に、Files.newBufferedWriterを使用して、そのデータを2番目のテキストファイルに書き込みます(ここでもテキストは1行ずつ取得されます)。
何らかの理由で、2番目のファイルの特定の行番号と列番号で書き込みが停止します-書き込むテキストの行数がさらに多い場合でも。行#で書き込みが行われているというメッセージをログに出力しようとしましたが、メッセージは行#892を超えて行#1098まで続きますが、データは2番目のファイルの行#892までしか書き込まれません。
AFAIK BufferedWriterは大きなファイルにデータを書き込むことができます-それでは、なぜこれが私のプログラムで起こっているのですか?
参考までに、データの書き込みを示すコードスニペットを以下に示します-
BufferedWriter writer;
if(outputmode.equalsIgnoreCase("append"))
writer = Files.newBufferedWriter(path_target, ENCODING, StandardOpenOption.APPEND);
else if(outputmode.equalsIgnoreCase("overwrite"))
writer = Files.newBufferedWriter(path_target, ENCODING, StandardOpenOption.CREATE);
そして、ファイルへの実際のコード書き込みテキスト(文字列変数 "currentline")は次のようになります-
writer.write(currentline);
writer.newLine();
この問題を解決するにはどうすればよいですか?