Package org.springframework.core.io
Interface WritableResource
- All Superinterfaces:
InputStreamSource
,Resource
- All Known Implementing Classes:
FileSystemResource
,FileUrlResource
,PathResource
Extended interface for a resource that supports writing to it.
Provides an
OutputStream accessor
.- Since:
- 3.1
- Author:
- Juergen Hoeller
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionReturn anOutputStream
for the underlying resource, allowing to (over-)write its content.default boolean
Indicate whether the contents of this resource can be written viagetOutputStream()
.default WritableByteChannel
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 Details
-
isWritable
default boolean isWritable()Indicate whether the contents of this resource can be written viagetOutputStream()
.Will be
true
for typical resource descriptors; note that actual content writing may still fail when attempted. However, a value offalse
is a definitive indication that the resource content cannot be modified.- See Also:
-
getOutputStream
Return anOutputStream
for the underlying resource, allowing to (over-)write its content.- Throws:
IOException
- if the stream could not be opened- See Also:
-
writableChannel
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:
-