ByteArrayDataSource (JavaMail API documentation)
Date: 2018-05-06

javax.mail.util

## Class ByteArrayDataSource

- java.lang.Object
- - javax.mail.util.ByteArrayDataSource

- All Implemented Interfaces:
    javax.activation.DataSource

      public class ByteArrayDataSource
      extends java.lang.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 Summary

    Constructors
    Constructor and Description
    `ByteArrayDataSource(byte[] data, java.lang.String type)` Create a ByteArrayDataSource with data from the specified byte array and with the specified MIME type.
    `ByteArrayDataSource(java.io.InputStream is, java.lang.String type)` Create a ByteArrayDataSource with data from the specified InputStream and with the specified MIME type.
    `ByteArrayDataSource(java.lang.String data, java.lang.String type)` Create a ByteArrayDataSource with data from the specified String and with the specified MIME type.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `getContentType()` Get the MIME content type of the data.
    `java.io.InputStream` | `getInputStream()` Return an InputStream for the data.
    `java.lang.String` | `getName()` Get the name of the data.
    `java.io.OutputStream` | `getOutputStream()` Return an OutputStream for the data.
    `void` | `setName(java.lang.String name)` Set the name of the data.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ByteArrayDataSource

          public ByteArrayDataSource(java.io.InputStream is,
                             java.lang.String type)
                              throws java.io.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:
        `java.io.IOException` - errors reading the stream

    - #### ByteArrayDataSource

          public ByteArrayDataSource(byte[] data,
                             java.lang.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(java.lang.String data,
                             java.lang.String type)
                              throws java.io.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:
        `java.io.IOException` - errors reading the String

  - ### Method Detail

    - #### getInputStream

          public java.io.InputStream getInputStream()
                                             throws java.io.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:
        `java.io.IOException` - if no data has been set

    - #### getOutputStream

          public java.io.OutputStream getOutputStream()
                                               throws java.io.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:
        `java.io.IOException` - always

    - #### getContentType

          public java.lang.String getContentType()

      Get the MIME content type of the data.
      Specified by:
        `getContentType` in interface `javax.activation.DataSource`
      Returns:
        the MIME type

    - #### getName

          public java.lang.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(java.lang.String name)

      Set the name of the data.
      Parameters:
        `name` - the name of this data

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms< /a>.