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, org.apache.hc.core5.http.ContentType contentType, String filename)`
`ByteArrayBody(byte[] data, String filename)` Creates a new ByteArrayBody.

### Method Summary

All Methods Instance Methods Concrete Methods
`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,
                         org.apache.hc.core5.http.ContentType contentType,
                         String filename)

Since:
  4.3

#### 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.