クラス InputStreamResource
- 実装されているすべてのインターフェース:
InputStreamSource, Resource
InputStreamSE を実行するために、指定された InputStreamSE または指定された 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, @Nullable StringSE description) 既存のInputStreamに対して新しいInputStreamResourceを作成します。InputStreamResource(InputStreamSource inputStreamSource) 単一使用のために、遅延InputStreamを使用して新しいInputStreamResourceを作成します。InputStreamResource(InputStreamSource inputStreamSource, @Nullable StringSE description) 単一使用のために、遅延InputStreamを使用して新しいInputStreamResourceを作成します。メソッドのサマリー
クラス AbstractResource から継承されたメソッド
contentLength, createRelative, getFile, getFileForLastModifiedCheck, getFilename, getURI, getURL, isFile, isReadable, lastModified, readableChannel, toStringインターフェース Resource から継承されたメソッド
getContentAsByteArray, getContentAsString, getFilePath
コンストラクターの詳細
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であってはなりません) - 例外:
IOExceptionSE- コンテンツストリームを開けなかった場合IllegalStateExceptionSE- 関連事項:
getDescription
equals
この実装は、基礎となる InputStream を比較します。- オーバーライド:
- クラス
AbstractResourceのequals - 関連事項:
hashCode
public int hashCode()この実装は、基になる InputStream のハッシュコードを返します。- オーバーライド:
- クラス
AbstractResourceのhashCode - 関連事項: