ホームページ >Java >&#&チュートリアル >BufferedWriter がすべてのデータをファイルに書き込めないのはなぜですか?それを修正するにはどうすればよいですか?
BufferedWriter が出力ファイルに完全に書き込めない: 問題と解決策について
Java で、出力にデータを書き込む BufferedWriter を作成するときファイルを完全に送信するには、バッファリング メカニズムを理解することが重要です。 BufferedWriter の内部バッファは、基礎となる出力ストリームにデータをフラッシュする前にデータを保存します。これにより、書き込み操作の数が減ってパフォーマンスが向上しますが、適切に閉じられないとデータが不完全になる可能性もあります。
あなたの場合、SQL ステートメントをファイルに書き込んでいる間にプログラムが途中で終了しているように見え、その結果、データがありません。これは、プログラムが終了する前に BufferedWriter のバッファが完全にフラッシュされていないことを示唆しています。
解決策は、書き込みが終了したときに BufferedWriter を閉じることです。このアクションにより、flush() メソッドがトリガーされ、バッファーが空になり、残りのデータが基礎となる出力ストリームに送信されます。コードの最後に行
out.close();
を追加すると、BufferedWriter に書き込んだすべてのデータが実際に出力ファイルに書き込まれることが保証されます。
覚えておいてください。 BufferedWriter は基になる FileWriter も閉じます。これにより、OutputStream も閉じられます。 BufferedWriter を閉じることにより、すべての保留中のデータがフラッシュされ、ファイルに安全に送信されることが保証されます。これにより、BufferedWriter が閉じられていないために発生する可能性のあるデータ損失や切り捨ての可能性が排除されます。
以上がBufferedWriter がすべてのデータをファイルに書き込めないのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。