インターフェース Resource

すべてのスーパーインターフェース:
InputStreamSource
すべての既知のサブインターフェース:
ContextResourceHttpResourceHttpResourceWritableResource
すべての既知の実装クラス:
AbstractFileResolvingResourceAbstractResourceByteArrayResourceClassPathResourceDefaultResourceLoader.ClassPathContextResourceDescriptiveResourceFileSystemResourceFileUrlResourceInputStreamResourceModuleResourcePathResourceServletContextResourceTransformedResourceTransformedResourceUrlResourceVfsResource

public interface Resource extends InputStreamSource
ファイルやクラスパスリソースなど、基礎となるリソースの実際の型から抽象化するリソース記述子のインターフェース。

InputStream は、物理的な形式で存在する場合、すべてのリソースに対して開くことができますが、URL またはファイルハンドルは特定のリソースに対してのみ返すことができます。実際の動作は実装固有です。

導入:
28.12.2003
作成者:
Juergen Hoeller, Arjen Poutsma
関連事項:
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    long
    このリソースのコンテンツの長さを決定します。
    createRelative(StringSE relativePath)
    このリソースに関連するリソースを作成します。
    boolean
    このリソースが実際に物理的な形で存在するかどうかを判断します。
    default byte[]
    このリソースの内容をバイト配列として返します。
    default StringSE
    指定された文字セットを使用して、このリソースの内容を文字列として返します。
    このリソースの説明を返します。これは、リソースを操作する際のエラー出力に使用されます。
    このリソースのファイルハンドルを返します。
    このリソースのファイル名を決定します。— 通常、パスの最後の部分 — たとえば、"myfile.txt" です。
    このリソースの URI ハンドルを返します。
    このリソースの URL ハンドルを返します。
    default boolean
    このリソースがファイルシステム内のファイルを表すかどうかを判断します。
    default boolean
    このリソースがオープンストリームのハンドルを表すかどうかを示します。
    default boolean
    このリソースの空でないコンテンツを InputStreamSource.getInputStream() を介して読み取ることができるかどうかを示します。
    long
    このリソースの最終変更タイムスタンプを決定します。
    ReadableByteChannelSE を返します。

    インターフェース org.springframework.core.io.InputStreamSource から継承されたメソッド

    getInputStream
  • メソッドの詳細

    • exists

      boolean exists()
      このリソースが実際に物理的な形で存在するかどうかを判断します。

      このメソッドは最終的な存在チェックを実行しますが、Resource ハンドルの存在は有効な記述子ハンドルのみを保証します。

    • isReadable

      default boolean isReadable()
      このリソースの空でないコンテンツを InputStreamSource.getInputStream() を介して読み取ることができるかどうかを示します。

      5.1 の時点で exists() セマンティクスを厳密に暗示しているため、存在する一般的なリソース記述子の場合は true になります。実際のコンテンツの読み取りは、試行されても失敗する場合があります。ただし、false の値は、リソースコンテンツを読み取ることができないことを明確に示しています。

      関連事項:
    • isOpen

      default boolean isOpen()
      このリソースがオープンストリームのハンドルを表すかどうかを示します。true の場合、InputStream を複数回読み取ることはできません。リソースリークを防ぐために、読み取り、閉じなければなりません。

      典型的なリソース記述子の場合、false になります。

    • isFile

      default boolean isFile()
      このリソースがファイルシステム内のファイルを表すかどうかを判断します。

      true の値は、getFile() 呼び出しが成功することを強く提案します(ただし、保証はしません)。

      これは、デフォルトでは控えめに false です。

      導入:
      5.0
      関連事項:
    • getURL

      URLSE getURL() throws IOExceptionSE
      このリソースの URL ハンドルを返します。
      例外:
      IOExceptionSE - リソースを URL として解決できない場合、つまりリソースが記述子として使用できない場合
    • getURI

      URISE getURI() throws IOExceptionSE
      このリソースの URI ハンドルを返します。
      例外:
      IOExceptionSE - リソースを URI として解決できない場合、つまりリソースが記述子として使用できない場合
      導入:
      2.5
    • getFile

      FileSE getFile() throws IOExceptionSE
      このリソースのファイルハンドルを返します。
      例外:
      FileNotFoundExceptionSE - リソースが絶対ファイルパスとして解決できない場合、つまりリソースがファイルシステムで使用できない場合
      IOExceptionSE - 一般的な解決 / 読み取りエラーの場合
      関連事項:
    • readableChannel

      default ReadableByteChannelSE readableChannel() throws IOExceptionSE
      ReadableByteChannelSE を返します。

      各呼び出しで新しいチャネルが作成されることが予想されます。

      デフォルトの実装では、Channels.newChannel(InputStream)SEInputStreamSource.getInputStream() の結果が返されます。

      戻り値:
      基になるリソースのバイトチャネル (null であってはなりません)
      例外:
      FileNotFoundExceptionSE - 基になるリソースが存在しない場合
      IOExceptionSE - コンテンツチャネルを開けなかった場合
      導入:
      5.0
      関連事項:
    • getContentAsByteArray

      default byte[] getContentAsByteArray() throws IOExceptionSE
      このリソースの内容をバイト配列として返します。
      戻り値:
      バイト配列としてのこのリソースの内容
      例外:
      FileNotFoundExceptionSE - リソースが絶対ファイルパスとして解決できない場合、つまりリソースがファイルシステムで使用できない場合
      IOExceptionSE - 一般的な解決 / 読み取りエラーの場合
      導入:
      6.0.5
    • getContentAsString

      default StringSE getContentAsString(CharsetSE charset) throws IOExceptionSE
      指定された文字セットを使用して、このリソースの内容を文字列として返します。
      パラメーター:
      charset - デコードに使用する文字セット
      戻り値:
      このリソースの内容を String として
      例外:
      FileNotFoundExceptionSE - リソースが絶対ファイルパスとして解決できない場合、つまりリソースがファイルシステムで使用できない場合
      IOExceptionSE - 一般的な解決 / 読み取りエラーの場合
      導入:
      6.0.5
    • contentLength

      long contentLength() throws IOExceptionSE
      このリソースのコンテンツの長さを決定します。
      例外:
      IOExceptionSE - リソースを解決できない場合 (ファイルシステム内、または他の既知の物理リソース型として)
    • lastModified

      long lastModified() throws IOExceptionSE
      このリソースの最終変更タイムスタンプを決定します。
      例外:
      IOExceptionSE - リソースを解決できない場合 (ファイルシステム内、または他の既知の物理リソース型として)
    • createRelative

      Resource createRelative(StringSE relativePath) throws IOExceptionSE
      このリソースに関連するリソースを作成します。
      パラメーター:
      relativePath - 相対パス (このリソースに関連して)
      戻り値:
      相対リソースのリソースハンドル
      例外:
      IOExceptionSE - 相対リソースを決定できない場合
    • getFilename

      @Nullable StringSE getFilename()
      このリソースのファイル名を決定します。— 通常、パスの最後の部分 — たとえば、"myfile.txt" です。

      この型のリソースにファイル名がない場合は、null を返します。

      実装では、ファイル名をエンコードせずに返すことをお勧めします。

    • getDescription

      StringSE getDescription()
      このリソースの説明を返します。これは、リソースを操作する際のエラー出力に使用されます。

      実装では、toString メソッドからこの値を返すことも推奨されます。

      関連事項: