2012-05-13 15 views
0

Preamble:私はApache IOを認識しており、Apache IOへのポインタ以外のコメントをしたいと思います。Javaでの自動ファイル/入力ストリームハンドリング


これはおそらく、少し愚かな質問かもしれないが、私はちょうどことに気づい:

私は私が過負荷バリアントの多くを実装してしまうの入力ストリームと言うから読み取るために持っているAPIを実装する場合、用例:

public void foo (InputStream input, int somearg, float someotherarg) { ... 

オーバーロードされた変種:

public void foo (File inputFile, int somearg, float someotherarg) { ... 
public void foo (String filename, int somearg, float someotherarg) { ... 

- または -

私は

public void foo (InputStream input, int somearg, float someotherarg) { ... 

を実装すると、ファイル名、ファイルを扱うヘルパーユーティリティ機能を実装しているInputStreamsに変換することができます。

私が持っている質問は、私がこれを再実装しているということです。誰かが書いたライブラリがあるか、これがデザインパターンで処理されていますか?

ありがとうございました。

答えて

0

あなたはApache Commons IOを探しているかもしれません。これには、この種のオーバーヘッドを減らす方法があります。

2

Guavaは、InputSupplierと呼ばれるものがあります。おそらくあなたは一見を取るべきです。それとは別に

は、(つまり、あなたが唯一の必要APIメソッドを作成することができ、あなたのケースを簡素化することが AutoCloseableインタフェースとJava 7で try-with-resourcesと呼ばれる機能があり、 InputStreamとプログラマが使用することができますしてみてください-で資源たものを処理するために、文字列/ファイルパラメータを持つ場合は入力ストリーム)。

+0

私は今日何かを学んだ – user1172468

関連する問題