私は書くべきですか
BufferedOutputStream os = new BufferedOutputStream(new FileOutputStream(file));
ImageIO.write(im, "JPEG", os);
それ以外の
ImageIO.write(im, "JPEG", file);
つまり、ImageIOファイル操作はデフォルトでバッファリングされていますか?
ありがとう!
私は書くべきですか
BufferedOutputStream os = new BufferedOutputStream(new FileOutputStream(file));
ImageIO.write(im, "JPEG", os);
それ以外の
ImageIO.write(im, "JPEG", file);
つまり、ImageIOファイル操作はデフォルトでバッファリングされていますか?
ありがとう!
を渡すと、基礎となる実装は(モードで作成された)にFile
直接書き込むため、バッファリングは行われません。具体的には、aがとして使用されます。RandomAccessFile
"rw"
FileImageOutputStream
ImageOutputStream
それは、システムに依存していると私が思う特定の実装に依存するIIORegistry
と思います。
私はそれがバッファリングされることを期待します、しかし私はあなたが完全に確信するために最初のオプションで行くことができると思います。
BufferedOutputStreamを使用する必要があります(問題の例1のように)。
ImageIo.writeは、デフォルトではバッファリングされません。それはあなたが引数でそれに渡すものに依存します。Fileオブジェクトが渡された場合、書き込みはバッファリングされません。