org.springframework.core.io

Class InputStreamResource

  • All Implemented Interfaces:
    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.

    Since:
    28.12.2003
    Author:
    Juergen Hoeller, Sam Brannen
    See Also:
    ByteArrayResource, ClassPathResource, FileSystemResource, UrlResource
    • Constructor Detail

      • InputStreamResource

        public InputStreamResource(java.io.InputStream inputStream)
        Create a new InputStreamResource.
        Parameters:
        inputStream - the InputStream to use
      • InputStreamResource

        public InputStreamResource(java.io.InputStream inputStream,
                                   @Nullable
                                   java.lang.String description)
        Create a new InputStreamResource.
        Parameters:
        inputStream - the InputStream to use
        description - where the InputStream comes from
    • Method Detail

      • getInputStream

        public java.io.InputStream getInputStream()
                                           throws java.io.IOException,
                                                  java.lang.IllegalStateException
        This implementation throws IllegalStateException if attempting to read the underlying stream multiple times.
        Returns:
        the input stream for the underlying resource (must not be null)
        Throws:
        java.io.FileNotFoundException - if the underlying resource doesn't exist
        java.io.IOException - if the content stream could not be opened
        java.lang.IllegalStateException
      • getDescription

        public java.lang.String getDescription()
        This implementation returns a description that includes the passed-in description, if any.
        See Also:
        Object.toString()