Class ByteArrayDataSource

java.lang.Object
javax.mail.util.ByteArrayDataSource
All Implemented Interfaces:
javax.activation.DataSource

public class ByteArrayDataSource extends Object implements javax.activation.DataSource
A DataSource backed by a byte array. The byte array may be passed in directly, or may be initialized from an InputStream or a String.
Since:
JavaMail 1.4
  • Constructor Details

    • ByteArrayDataSource

      public ByteArrayDataSource(InputStream is, String type) throws IOException
      Create a ByteArrayDataSource with data from the specified InputStream and with the specified MIME type. The InputStream is read completely and the data is stored in a byte array.
      Parameters:
      is - the InputStream
      type - the MIME type
      Throws:
      IOException - errors reading the stream
    • ByteArrayDataSource

      public ByteArrayDataSource(byte[] data, String type)
      Create a ByteArrayDataSource with data from the specified byte array and with the specified MIME type.
      Parameters:
      data - the data
      type - the MIME type
    • ByteArrayDataSource

      public ByteArrayDataSource(String data, String type) throws IOException
      Create a ByteArrayDataSource with data from the specified String and with the specified MIME type. The MIME type should include a charset parameter specifying the charset to be used for the string. If the parameter is not included, the default charset is used.
      Parameters:
      data - the String
      type - the MIME type
      Throws:
      IOException - errors reading the String
  • Method Details

    • getInputStream

      public InputStream getInputStream() throws IOException
      Return an InputStream for the data. Note that a new stream is returned each time this method is called.
      Specified by:
      getInputStream in interface javax.activation.DataSource
      Returns:
      the InputStream
      Throws:
      IOException - if no data has been set
    • getOutputStream

      public OutputStream getOutputStream() throws IOException
      Return an OutputStream for the data. Writing the data is not supported; an IOException is always thrown.
      Specified by:
      getOutputStream in interface javax.activation.DataSource
      Throws:
      IOException - always
    • getContentType

      public String getContentType()
      Get the MIME content type of the data.
      Specified by:
      getContentType in interface javax.activation.DataSource
      Returns:
      the MIME type
    • getName

      public String getName()
      Get the name of the data. By default, an empty string ("") is returned.
      Specified by:
      getName in interface javax.activation.DataSource
      Returns:
      the name of this data
    • setName

      public void setName(String name)
      Set the name of the data.
      Parameters:
      name - the name of this data