3

私は書くべきですか

BufferedOutputStream os = new BufferedOutputStream(new FileOutputStream(file));
ImageIO.write(im, "JPEG", os);

それ以外の

ImageIO.write(im, "JPEG", file);

つまり、ImageIOファイル操作はデフォルトでバッファリングされていますか?

ありがとう!

4

3 に答える 3

1

を渡すと、基礎となる実装は(モードで作成された)にFile直接書き込むため、バッファリングは行われません。具体的には、aがとして使用されます。RandomAccessFile"rw"FileImageOutputStreamImageOutputStream

于 2010-07-08T14:48:34.417 に答える
0

それは、システムに依存していると私が思う特定の実装に依存するIIORegistryと思います。

私はそれがバッファリングされることを期待します、しかし私はあなたが完全に確信するために最初のオプションで行くことができると思います。

于 2010-07-08T14:05:22.423 に答える
0

BufferedOutputStreamを使用する必要があります(問題の例1のように)。

ImageIo.writeは、デフォルトではバッファリングされません。それはあなたが引数でそれに渡すものに依存します。Fileオブジェクトが渡された場合、書き込みはバッファリングされません。

于 2010-07-10T06:33:46.980 に答える