org.springframework.core.io

## 类 InputStreamResource

- java.lang.Object
- - org.springframework.core.io.AbstractResource
  - - org.springframework.core.io.InputStreamResource

- 所有已实现的接口:
    InputStreamSource, Resource

      public class InputStreamResource
      extends AbstractResource

  `Resource` implementation for a given `InputStream`.

  Should only be used if no other specific `Resource` implementation is applicable. In particular, prefer `ByteArrayResource` or any of the file-based `Resource` implementations where possible.

  In contrast to other `Resource` implementations, this is a descriptor for an already opened resource - therefore returning `true` from `isOpen()`. Do not use an `InputStreamResource` if you need to keep the resource descriptor somewhere, or if you need to read from a stream multiple times.

  从以下版本开始:
    28.12.2003
  作者:
    Juergen Hoeller, Sam Brannen
  另请参阅:
    `ByteArrayResource`, `ClassPathResource`, `FileSystemResource`, `UrlResource`

- - ### 构造器概要

    构造器
    构造器和说明
    `InputStreamResource(InputStream inputStream)` Create a new InputStreamResource.
    `InputStreamResource(InputStream inputStream, String description)` Create a new InputStreamResource.

  - ### 方法概要

    所有方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `boolean` | `equals(Object other)` This implementation compares the underlying InputStream.
    `boolean` | `exists()` This implementation always returns `true`.
    `String` | `getDescription()` This implementation returns a description that includes the passed-in description, if any.
    `InputStream` | `getInputStream()` This implementation throws IllegalStateException if attempting to read the underlying stream multiple times.
    `int` | `hashCode()` This implementation returns the hash code of the underlying InputStream.
    `boolean` | `isOpen()` This implementation always returns `true`.

    - ### 从类继承的方法 org.springframework.core.io.AbstractResource

      `contentLength, createRelative, getFile, getFileForLastModifiedCheck, getFilename, getURI, getURL, isFile, isReadable, lastModified, readableChannel, toString`

    - ### 从类继承的方法 java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### 构造器详细资料

    - #### InputStreamResource

          public InputStreamResource(InputStream inputStream)

      Create a new InputStreamResource.
      参数:
        `inputStream` - the InputStream to use

    - #### InputStreamResource

          public InputStreamResource(InputStream inputStream,
                                     @Nullable
                                     String description)

      Create a new InputStreamResource.
      参数:
        `inputStream` - the InputStream to use
        `description` - where the InputStream comes from

  - ### 方法详细资料

    - #### exists

          public boolean exists()

      This implementation always returns `true`.
      指定者:
        `exists` 在接口中 `Resource`
      覆盖:
        `exists` 在类中 `AbstractResource`

    - #### isOpen

          public boolean isOpen()

      This implementation always returns `true`.
      指定者:
        `isOpen` 在接口中 `Resource`
      覆盖:
        `isOpen` 在类中 `AbstractResource`

    - #### getInputStream

          public InputStream getInputStream()
                                     throws IOException,
                                            IllegalStateException

      This implementation throws IllegalStateException if attempting to read the underlying stream multiple times.
      返回:
        the input stream for the underlying resource (must not be `null`)
      抛出:
        `FileNotFoundException` - if the underlying resource doesn't exist
        `IOException` - if the content stream could not be opened
        `IllegalStateException`

    - #### getDescription

          public String getDescription()

      This implementation returns a description that includes the passed-in description, if any.
      另请参阅:
        `Object.toString()`

    - #### equals

          public boolean equals(Object other)

      This implementation compares the underlying InputStream.
      覆盖:
        `equals` 在类中 `AbstractResource`
      另请参阅:
        `Resource.getDescription()`

    - #### hashCode

          public int hashCode()

      This implementation returns the hash code of the underlying InputStream.
      覆盖:
        `hashCode` 在类中 `AbstractResource`
      另请参阅:
        `Resource.getDescription()`