FileBackedOutputStream
クラスからGoogle Guava
ライブラリにアクセスし、バッファの種類として使用するのが適切かどうか疑問に思っていました。毎日1回、Webアプリケーションのプロセスで数万行約100文字含む)をFTPサーバー上のファイルにアップロードします。 FileBackedOutputStream
オブジェクトを使用して、これらの文字列をすべて最初に書き込んでから、FileBackedOutputStream.getSupplier().getInput()
を使用してFTPクライアントにアクセスし、InputStream
を返します。これはFileBackedOutputStream
の正しい使用例ですか?FileBackedOutputStreamユースケース(Guava)
2
A
答えて
2
はい、それはFileBackedOutputStream
の許容可能な使用例になると思います。しかし、私はFileBackedOutputStream
が、サイズがかなり異なる可能性のあるデータを使用しているときに最適であると思います...メモリに収めることができる少量のデータに対して、メモリにバッファリングするだけで大量にそれをすべてメモリに読み込もうとすると、OutOfMemoryError
というデータが出力される可能性があります。ファイルへのバッファリングに切り替える必要があります。これはFileBackedOutputStream
が本当に輝いているところだと思います。私はいくつかのことをする必要があるアップロードされたファイルをバッファリングするためにそれを使用しました。
関連する問題
- 1. ユースケースのステップとユースケースのシナリオ
- 2. ユースケース - ヘルプ
- 3. ユースケース図
- 4. ポイント - ユースケース
- 5. スプリングプロトタイプスコープ - ユースケース?
- 6. ThreadPool.QueueUserWorkItemユースケース
- 7. Guavaハッシングユースケース
- 8. リソースGuava
- 9. タスクbuildNeededのユースケース?
- 10. FacesConverterのユースケース
- 11. Springカスタムネームスペース - ユースケース
- 12. ビジネスユースケースとユースケース
- 13. Guavaのビルドファイル
- 14. GuavaとWeblogic:ClassNotFoundException
- 15. Guava EventBusユニットテスト
- 16. Guava Group By Key
- 17. キャッシュテーブル - Google Guavaテーブル
- 18. UMLの俳優(ユースケース)
- 19. DRY Railsのメタプログラミング - ユースケース
- 20. MongoDBユースケースの在庫
- 21. ユーザストーリーとユースケースのシナリオ
- 22. XMLスキーマ検証ユースケース
- 23. GuavaキャッシングrefreshAfterWrite混乱
- 24. Google Guava:述語assertTrue
- 25. SQLユースケースの内側DISTINCT
- 26. 私のプロジェクト用のLuaユースケース
- 27. アクティビティ図に基づくユースケース
- 28. ユースケース図のアクタのモデリング
- 29. クリーンアーキテクチャー - Robert Martin - ユースケース粒度
- 30. UMLユースケース図の質問
InputStreamが必要な場合は、ByteArrayOutputStreamとByteArrayInputStreamを使用しないでください。そのシンプルさとより効率的になる可能性があります。 –
これは私が言及したサイズのデータ、すなわち約100文字の長さの数万行(文字列)にも適していますか? –
I/Oリソースを使用するときに重要なスレッドセーフです。試してみてください –