FileBackedOutputStream
私はライブラリからクラスに出くわしGoogle Guava
、一種のバッファとして使用するのに適しているかどうか疑問に思っていました.1日に1回、私のwebappのプロセスは数万行(それぞれ約100文字を含む)を生成し、ファイルにアップロードしますFTP サーバー上。オブジェクトを使用しFileBackedOutputStream
て最初にこれらすべての文字列を書き込み、次に を使用して FTP クライアントにアクセスできるようにすることを考えていましFileBackedOutputStream.getSupplier().getInput()
たInputStream
。これは の正しい使用例FileBackedOutputStream
でしょうか?
1618 次
1 に答える
3
はい、それは の使用例として受け入れられると思いますFileBackedOutputStream
。ただし、サイズが大幅に異なる可能性のあるデータで使用する場合に最適だと思いますFileBackedOutputStream
...問題なくメモリに収まる少量のデータの場合は、メモリにバッファリングしたいだけですが、大量のデータの場合OutOfMemoryError
すべてをメモリに読み込もうとすると、ファイルへのバッファリングに切り替えたいと思うかもしれません。ここがFileBackedOutputStream
本当に輝いていると思います。いくつかのことを行う必要があるアップロードされたファイルをバッファリングするために使用しました。
于 2011-01-27T15:06:43.253 に答える