public interface Resource extends InputStreamSource
InputStream は、物理的な形式で存在する場合、すべてのリソースに対して開くことができますが、URL またはファイルハンドルは特定のリソースに対してのみ返すことができます。実際の動作は実装固有です。
InputStreamSource.getInputStream()
, getURL()
, getURI()
, getFile()
, WritableResource
, ContextResource
, UrlResource
, FileUrlResource
, FileSystemResource
, ClassPathResource
, ByteArrayResource
, InputStreamResource
修飾子と型 | メソッドと説明 |
---|---|
long | contentLength() このリソースのコンテンツの長さを決定します。 |
Resource | createRelative(java.lang.String relativePath) このリソースに関連するリソースを作成します。 |
boolean | exists() このリソースが実際に物理的な形で存在するかどうかを判断します。 |
java.lang.String | getDescription() このリソースの説明を返します。これは、リソースを操作する際のエラー出力に使用されます。 |
java.io.File | getFile() このリソースのファイルハンドルを返します。 |
java.lang.String | getFilename() このリソースのファイル名、つまり |
java.net.URI | getURI() このリソースの URI ハンドルを返します。 |
java.net.URL | getURL() このリソースの URL ハンドルを返します。 |
default boolean | isFile() このリソースがファイルシステム内のファイルを表すかどうかを判断します。 |
default boolean | isOpen() このリソースがオープンストリームのハンドルを表すかどうかを示します。 |
default boolean | isReadable() このリソースの空でないコンテンツを InputStreamSource.getInputStream() を介して読み取ることができるかどうかを示します。 |
long | lastModified() このリソースの最終変更タイムスタンプを決定します。 |
default java.nio.channels.ReadableByteChannel | readableChannel() ReadableByteChannel を返します。 |
getInputStream
boolean exists()
このメソッドは最終的な存在チェックを実行しますが、Resource
ハンドルの存在は有効な記述子ハンドルのみを保証します。
default boolean isReadable()
InputStreamSource.getInputStream()
を介して読み取ることができるかどうかを示します。5.1 の時点で exists()
セマンティクスを厳密に暗示しているため、存在する一般的なリソース記述子の場合は true
になります。実際のコンテンツの読み取りは、試行されても失敗する場合があります。ただし、false
の値は、リソースコンテンツを読み取ることができないことを明確に示しています。
default boolean isOpen()
true
の場合、InputStream を複数回読み取ることはできません。リソースリークを防ぐために、読み取り、閉じなければなりません。 典型的なリソース記述子の場合、false
になります。
default boolean isFile()
true
の値は、getFile()
呼び出しが成功することを強く提案しています(ただし保証はしません)。 これは、デフォルトでは控えめに false
です。
getFile()
java.net.URL getURL() throws java.io.IOException
java.io.IOException
- リソースを URL として解決できない場合、つまりリソースが記述子として利用できない場合 java.net.URI getURI() throws java.io.IOException
java.io.IOException
- リソースが URI として解決できない場合、つまりリソースが記述子として利用できない場合 java.io.File getFile() throws java.io.IOException
java.io.FileNotFoundException
- リソースが絶対ファイルパスとして解決できない場合、つまりリソースがファイルシステムで使用できない場合 java.io.IOException
- 一般的な解決 / 読み取りエラーの場合 InputStreamSource.getInputStream()
default java.nio.channels.ReadableByteChannel readableChannel() throws java.io.IOException
ReadableByteChannel
を返します。各呼び出しで新しいチャネルが作成されることが予想されます。
デフォルトの実装は、InputStreamSource.getInputStream()
の結果で Channels.newChannel(InputStream)
を返します。
null
であってはなりません)java.io.FileNotFoundException
- 基になるリソースが存在しない場合 java.io.IOException
- コンテンツチャネルを開けなかった場合 InputStreamSource.getInputStream()
long contentLength() throws java.io.IOException
java.io.IOException
- リソースを解決できない場合 (ファイルシステム内、または他の既知の物理リソース型として)long lastModified() throws java.io.IOException
java.io.IOException
- リソースを解決できない場合 (ファイルシステム内、または他の既知の物理リソース型として)Resource createRelative(java.lang.String relativePath) throws java.io.IOException
relativePath
- 相対パス (このリソースに関連して)java.io.IOException
- 相対リソースを決定できない場合 @Nullable java.lang.String getFilename()
この型のリソースにファイル名がない場合は、null
を返します。
java.lang.String getDescription()
実装では、toString
メソッドからこの値を返すことも推奨されます。
Object.toString()