org.springframework.core.io

## Interface WritableResource

- All Superinterfaces:
    InputStreamSource, Resource
  All Known Implementing Classes:
    FileSystemResource, PathResource

      public interface WritableResource
      extends Resource

  Extended interface for a resource that supports writing to it. Provides an `OutputStream accessor`.
  Since:
    3.1
  Author:
    Juergen Hoeller
  See Also:
    `OutputStream`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `OutputStream` | `getOutputStream()` Return an `OutputStream` for the underlying resource, allowing to (over-)write its content.
    `boolean` | `isWritable()` Return whether the contents of this resource can be modified, e.g.

    - ### Methods inherited from interface org.springframework.core.io.Resource

      `contentLength, createRelative, exists, getDescription, getFile, getFilename, getURI, getURL, isOpen, isReadable, lastModified`

    - ### Methods inherited from interface org.springframework.core.io.InputStreamSource

      `getInputStream`

- - ### Method Detail

    - #### isWritable

          boolean isWritable()

      Return whether the contents of this resource can be modified, e.g. via `getOutputStream()` or `Resource.getFile()`.

      Will be `true` for typical resource descriptors; note that actual content writing may still fail when attempted. However, a value of `false` is a definitive indication that the resource content cannot be modified.

      See Also:
        `getOutputStream()`, `Resource.isReadable()`

    - #### getOutputStream

          OutputStream getOutputStream()
                                throws IOException

      Return an `OutputStream` for the underlying resource, allowing to (over-)write its content.
      Throws:
        `IOException` - if the stream could not be opened
      See Also:
        `InputStreamSource.getInputStream()`