クラス InputStreamResource
- 実装されたすべてのインターフェース:
InputStreamSource
,Resource
InputStream
SE を実行するために、指定された InputStream
SE または指定された InputStreamSource
(ラムダ式として提供可能) の Resource
実装。 他の特定の Resource
実装が適用できない場合にのみ使用してください。特に、可能であれば、ByteArrayResource
またはファイルベースの Resource
実装のいずれかを優先してください。カスタムストリームを複数回取得する必要がある場合は、対応する getInputStream()
実装を持つカスタム AbstractResource
サブクラスを使用します。
他の Resource
実装とは異なり、これはすでに開かれているリソースの記述子であるため、isOpen()
から true
を返します。リソース記述子をどこかに保持する必要がある場合、またはストリームから複数回読み取る必要がある場合は、InputStreamResource
を使用しないでください。これは、ストリームを遅延取得するが、単一のアクセスのみを許可する InputStreamSource
を使用して構築される場合にも適用されます。
注意: このクラスは独立した AbstractResource.contentLength()
実装を提供しません。このような呼び出しは、指定された InputStream
を消費します。可能であれば、カスタム実装で #contentLength()
をオーバーライドすることを検討してください。その他の目的では、このクラスから拡張することはお勧めしません。これは、このクラスのみで #contentLength()
を明示的にスキップする Spring の Web リソースレンダリングで使用する場合に特に当てはまります。
- 導入:
- 28.12.2003
- 作成者:
- Juergen Hoeller, Sam Brannen
- 関連事項:
コンストラクターのサマリー
コンストラクターコンストラクター説明InputStreamResource
(InputStreamSE inputStream) 既存のInputStream
に対して新しいInputStreamResource
を作成します。InputStreamResource
(InputStreamSE inputStream, StringSE description) 既存のInputStream
に対して新しいInputStreamResource
を作成します。InputStreamResource
(InputStreamSource inputStreamSource) 単一使用のために、遅延InputStream
を使用して新しいInputStreamResource
を作成します。InputStreamResource
(InputStreamSource inputStreamSource, StringSE description) 単一使用のために、遅延InputStream
を使用して新しいInputStreamResource
を作成します。方法の概要
クラス org.springframework.core.io.AbstractResource から継承されたメソッド
contentLength, createRelative, getFile, getFileForLastModifiedCheck, getFilename, getURI, getURL, isFile, isReadable, lastModified, readableChannel, toString
クラス java.lang.ObjectSE から継承されたメソッド
clone, finalize, getClass, notify, notifyAll, wait, waitSE, waitSE
インターフェース org.springframework.core.io.Resource から継承されたメソッド
getContentAsByteArray, getContentAsString
コンストラクターの詳細
InputStreamResource
単一使用のために、遅延InputStream
を使用して新しいInputStreamResource
を作成します。- パラメーター:
inputStreamSource
- 使い捨て InputStream のオンデマンドソース- 導入:
- 6.1.7
InputStreamResource
単一使用のために、遅延InputStream
を使用して新しいInputStreamResource
を作成します。- パラメーター:
inputStreamSource
- 使い捨て InputStream のオンデマンドソースdescription
- InputStream の由来- 導入:
- 6.1.7
InputStreamResource
既存のInputStream
に対して新しいInputStreamResource
を作成します。可能であれば、オンデマンドで InputStream を取得し、その寿命を短縮し、通常の
InputStreamSource.getInputStream()
の使用を通じて確実に開閉することを検討してください。- パラメーター:
inputStream
- 使用する InputStream- 関連事項:
InputStreamResource
既存のInputStream
に対して新しいInputStreamResource
を作成します。- パラメーター:
inputStream
- 使用する InputStreamdescription
- InputStream の由来- 関連事項:
メソッドの詳細
exists
public boolean exists()この実装は、常にtrue
を返します。- 次で指定:
- インターフェース
Resource
のexists
- オーバーライド:
- クラス
AbstractResource
のexists
isOpen
public boolean isOpen()この実装は、常にtrue
を返します。- 次で指定:
- インターフェース
Resource
のisOpen
- オーバーライド:
- クラス
AbstractResource
のisOpen
getInputStream
基になるストリームを複数回読み取ろうとすると、この実装は IllegalStateException をスローします。- 戻り値:
- 基になるリソースの入力ストリーム (
null
であってはなりません) - 例外:
FileNotFoundExceptionSE
- 基盤となるリソースが存在しない場合IOExceptionSE
- コンテンツストリームを開けなかった場合IllegalStateExceptionSE
- 関連事項:
getDescription
この実装は、もしあれば、渡された説明を含む説明を返します。- 関連事項:
equals
この実装は、基礎となる InputStream を比較します。- オーバーライド:
- クラス
AbstractResource
のequals
- 関連事項:
hashCode
public int hashCode()この実装は、基になる InputStream のハッシュコードを返します。- オーバーライド:
- クラス
AbstractResource
のhashCode
- 関連事項: