org.apache.hc.client5.http.entity.mime

## Class ByteArrayBody

- java.lang.Object
- - org.apache.hc.client5.http.entity.mime.AbstractContentBody
  - - org.apache.hc.client5.http.entity.mime.ByteArrayBody

- All Implemented Interfaces:
    ContentBody, ContentDescriptor

      public class ByteArrayBody
      extends AbstractContentBody

  Binary body part backed by a byte array.
  Since:
    4.1
  See Also:
    `MultipartEntityBuilder`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ByteArrayBody(byte[] data, ContentType contentType)` Public constructor that creates a new ByteArrayBody.
    `ByteArrayBody(byte[] data, ContentType contentType, String filename)`
    `ByteArrayBody(byte[] data, String filename)` Creates a new ByteArrayBody.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getCharset()` The body descriptors character set, defaulted appropriately for the MIME type.
    `long` | `getContentLength()` Returns the body descriptors content-length.
    `String` | `getFilename()`
    `void` | `writeTo(OutputStream out)`

    - ### Methods inherited from class org.apache.hc.client5.http.entity.mime.AbstractContentBody

      `getContentType, getMediaType, getMimeType, getSubType`

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

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

- - ### Constructor Detail

    - #### ByteArrayBody

          public ByteArrayBody(byte[] data,
                               ContentType contentType,
                               String filename)

      Since:
        4.3

    - #### ByteArrayBody

          public ByteArrayBody(byte[] data,
                               ContentType contentType)

      Public constructor that creates a new ByteArrayBody.
      Parameters:
        `contentType` - the `ContentType`
        `data` - the array of byte.
      Since:
        5.2

    - #### ByteArrayBody

          public ByteArrayBody(byte[] data,
                               String filename)

      Creates a new ByteArrayBody.
      Parameters:
        `data` - The contents of the file contained in this part.
        `filename` - The name of the file contained in this part.

  - ### Method Detail

    - #### getFilename

          public String getFilename()

    - #### writeTo

          public void writeTo(OutputStream out)
                       throws IOException

      Throws:
        `IOException`

    - #### getCharset

          public String getCharset()

      Description copied from interface: `ContentDescriptor`

      The body descriptors character set, defaulted appropriately for the MIME type.

      For `TEXT` types, this will be defaulted to `us-ascii`. For other types, when the charset parameter is missing this property will be null.

      Specified by:
        `getCharset` in interface `ContentDescriptor`
      Overrides:
        `getCharset` in class `AbstractContentBody`
      Returns:
        Character set, which has been parsed from the content-type definition. Not null for `TEXT` types, when unset will be set to default `us-ascii`. For other types, when unset, null will be returned.

    - #### getContentLength

          public long getContentLength()

      Description copied from interface: `ContentDescriptor`
      Returns the body descriptors content-length.
      Returns:
        Content length, if known, or -1, to indicate the absence of a content-length header.

Copyright © 1999–2021 The Apache Software Foundation. All rights reserved.