Package org.springframework.core.io
Interface WritableResource
- All Superinterfaces:
InputStreamSource,Resource
- All Known Implementing Classes:
FileSystemResource,FileUrlResource,PathResource
public interface WritableResource extends Resource
Extended interface for a resource that supports writing to it. Provides anOutputStream accessor.- Since:
- 3.1
- Author:
- Juergen Hoeller
- See Also:
OutputStream
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description OutputStreamgetOutputStream()Return anOutputStreamfor the underlying resource, allowing to (over-)write its content.default booleanisWritable()Indicate whether the contents of this resource can be written viagetOutputStream().default WritableByteChannelwritableChannel()Return aWritableByteChannel.Methods inherited from interface org.springframework.core.io.InputStreamSource
getInputStream
Methods inherited from interface org.springframework.core.io.Resource
contentLength, createRelative, exists, getDescription, getFile, getFilename, getURI, getURL, isFile, isOpen, isReadable, lastModified, readableChannel
Method Detail
isWritable
default boolean isWritable()
Indicate whether the contents of this resource can be written viagetOutputStream().Will be
truefor typical resource descriptors; note that actual content writing may still fail when attempted. However, a value offalseis a definitive indication that the resource content cannot be modified.- See Also:
getOutputStream(),Resource.isReadable()
getOutputStream
OutputStream getOutputStream() throws IOException
Return anOutputStreamfor the underlying resource, allowing to (over-)write its content.- Throws:
IOException- if the stream could not be opened- See Also:
InputStreamSource.getInputStream()
writableChannel
default WritableByteChannel writableChannel() throws IOException
Return aWritableByteChannel.It is expected that each call creates a fresh channel.
The default implementation returns
Channels.newChannel(OutputStream)with the result ofgetOutputStream().- Returns:
- the byte channel for the underlying resource (must not be
null) - Throws:
FileNotFoundException- if the underlying resource doesn't existIOException- if the content channel could not be opened- Since:
- 5.0
- See Also:
getOutputStream()