Package org.springframework.core.io
Class InputStreamResource
- java.lang.Object
- org.springframework.core.io.AbstractResource
- org.springframework.core.io.InputStreamResource
- All Implemented Interfaces:
InputStreamSource
,Resource
public class InputStreamResource extends AbstractResource
Resource
implementation for a givenInputStream
.Should only be used if no other specific
Resource
implementation is applicable. In particular, preferByteArrayResource
or any of the file-basedResource
implementations where possible.In contrast to other
Resource
implementations, this is a descriptor for an already opened resource - therefore returningtrue
fromisOpen()
. Do not use anInputStreamResource
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 Summary
Constructors Constructor Description InputStreamResource(InputStream inputStream)
Create a new InputStreamResource.InputStreamResource(InputStream inputStream, String description)
Create a new InputStreamResource.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object obj)
This implementation compares the underlying InputStream.boolean
exists()
This implementation always returnstrue
.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 returnstrue
.Methods inherited from class org.springframework.core.io.AbstractResource
contentLength, createRelative, getFile, getFileForLastModifiedCheck, getFilename, getURI, getURL, isReadable, lastModified, toString
Constructor Detail
InputStreamResource
public InputStreamResource(InputStream inputStream)
Create a new InputStreamResource.- Parameters:
inputStream
- the InputStream to use
InputStreamResource
public InputStreamResource(InputStream inputStream, String description)
Create a new InputStreamResource.- Parameters:
inputStream
- the InputStream to usedescription
- where the InputStream comes from
Method Detail
exists
public boolean exists()
This implementation always returnstrue
.- Specified by:
exists
in interfaceResource
- Overrides:
exists
in classAbstractResource
isOpen
public boolean isOpen()
This implementation always returnstrue
.- Specified by:
isOpen
in interfaceResource
- Overrides:
isOpen
in classAbstractResource
getInputStream
public InputStream getInputStream() throws IOException, 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:
FileNotFoundException
- if the underlying resource doesn't existIOException
- if the content stream could not be openedIllegalStateException
getDescription
public String getDescription()
This implementation returns a description that includes the passed-in description, if any.- See Also:
Object.toString()
equals
public boolean equals(Object obj)
This implementation compares the underlying InputStream.- Overrides:
equals
in classAbstractResource
- See Also:
Resource.getDescription()
hashCode
public int hashCode()
This implementation returns the hash code of the underlying InputStream.- Overrides:
hashCode
in classAbstractResource
- See Also:
Resource.getDescription()