DataSource (Java Platform SE 8 )
Keywords: javax.activation.DataSource interface
Date: 2026-04-17

javax.activation

## Interface DataSource

- All Known Implementing Classes:
    FileDataSource, URLDataSource

      public interface DataSource

  The DataSource interface provides the JavaBeans Activation Framework with an abstraction of an arbitrary collection of data. It provides a type for that data as well as access to it in the form of `InputStreams` and `OutputStreams` where appropriate.
  Since:
    1.6

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getContentType()` This method returns the MIME type of the data in the form of a string.
    `InputStream` | `getInputStream()` This method returns an `InputStream` representing the data and throws the appropriate exception if it can not do so.
    `String` | `getName()` Return the name of this object where the name of the object is dependant on the nature of the underlying objects.
    `OutputStream` | `getOutputStream()` This method returns an `OutputStream` where the data can be written and throws the appropriate exception if it can not do so.

- - ### Method Detail

    - #### getInputStream

          InputStream getInputStream()
                              throws IOException

      This method returns an `InputStream` representing the data and throws the appropriate exception if it can not do so. Note that a new `InputStream` object must be returned each time this method is called, and the stream must be positioned at the beginning of the data.
      Returns:
        an InputStream
      Throws:
        `IOException`

    - #### getOutputStream

          OutputStream getOutputStream()
                                throws IOException

      This method returns an `OutputStream` where the data can be written and throws the appropriate exception if it can not do so. Note that a new `OutputStream` object must be returned each time this method is called, and the stream must be positioned at the location the data is to be written.
      Returns:
        an OutputStream
      Throws:
        `IOException`

    - #### getContentType

          String getContentType()

      This method returns the MIME type of the data in the form of a string. It should always return a valid type. It is suggested that getContentType return "application/octet-stream" if the DataSource implementation can not determine the data type.
      Returns:
        the MIME Type

    - #### getName

          String getName()

      Return the name of this object where the name of the object is dependant on the nature of the underlying objects. DataSources encapsulating files may choose to return the filename of the object. (Typically this would be the last component of the filename, not an entire pathname.)
      Returns:
        the name of the object.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.