Package org.springframework.core.io
Class ByteArrayResource
java.lang.Object
org.springframework.core.io.AbstractResource
org.springframework.core.io.ByteArrayResource
- All Implemented Interfaces:
InputStreamSource
,Resource
- Direct Known Subclasses:
TransformedResource
,TransformedResource
Resource
implementation for a given byte array.
Creates a ByteArrayInputStream
for the given byte array.
Useful for loading content from any given byte array,
without having to resort to a single-use InputStreamResource
.
Particularly useful for creating mail attachments from local content,
where JavaMail needs to be able to read the stream multiple times.
- Since:
- 1.2.3
- Author:
- Juergen Hoeller, Sam Brannen
- See Also:
-
Constructor Summary
ConstructorDescriptionByteArrayResource
(byte[] byteArray) Create a newByteArrayResource
.ByteArrayResource
(byte[] byteArray, String description) Create a newByteArrayResource
with a description. -
Method Summary
Modifier and TypeMethodDescriptionlong
This implementation returns the length of the underlying byte array.boolean
This implementation compares the underlying byte array.boolean
exists()
This implementation always returnstrue
.final byte[]
Return the underlying byte array.byte[]
Return the contents of this resource as a byte array.getContentAsString
(Charset charset) Returns the contents of this resource as a string, using the specified charset.This implementation returns a description that includes the passed-indescription
, if any.This implementation returns a ByteArrayInputStream for the underlying byte array.int
hashCode()
This implementation returns the hash code based on the underlying byte array.Methods inherited from class org.springframework.core.io.AbstractResource
createRelative, getFile, getFileForLastModifiedCheck, getFilename, getURI, getURL, isFile, isOpen, isReadable, lastModified, readableChannel, toString
-
Constructor Details
-
ByteArrayResource
public ByteArrayResource(byte[] byteArray) Create a newByteArrayResource
.- Parameters:
byteArray
- the byte array to wrap
-
ByteArrayResource
Create a newByteArrayResource
with a description.- Parameters:
byteArray
- the byte array to wrapdescription
- where the byte array comes from
-
-
Method Details
-
getByteArray
public final byte[] getByteArray()Return the underlying byte array. -
exists
public boolean exists()This implementation always returnstrue
.- Specified by:
exists
in interfaceResource
- Overrides:
exists
in classAbstractResource
-
contentLength
public long contentLength()This implementation returns the length of the underlying byte array.- Specified by:
contentLength
in interfaceResource
- Overrides:
contentLength
in classAbstractResource
- See Also:
-
getInputStream
This implementation returns a ByteArrayInputStream for the underlying byte array.- Returns:
- the input stream for the underlying resource (must not be
null
) - Throws:
FileNotFoundException
- if the underlying resource does not existIOException
- if the content stream could not be opened- See Also:
-
getContentAsByteArray
Description copied from interface:Resource
Return the contents of this resource as a byte array.- Returns:
- the contents of this resource as byte array
- Throws:
FileNotFoundException
- if the resource cannot be resolved as absolute file path, i.e. if the resource is not available in a file systemIOException
- in case of general resolution/reading failures
-
getContentAsString
Description copied from interface:Resource
Returns the contents of this resource as a string, using the specified charset.- Parameters:
charset
- the charset to use for decoding- Returns:
- the contents of this resource as a
String
- Throws:
FileNotFoundException
- if the resource cannot be resolved as absolute file path, i.e. if the resource is not available in a file systemIOException
- in case of general resolution/reading failures
-
getDescription
This implementation returns a description that includes the passed-indescription
, if any.- See Also:
-
equals
This implementation compares the underlying byte array.- Overrides:
equals
in classAbstractResource
- See Also:
-
hashCode
public int hashCode()This implementation returns the hash code based on the underlying byte array.- Overrides:
hashCode
in classAbstractResource
- See Also:
-