public class

ByteArrayBinaryResource

extends Object
implements BinaryResource
java.lang.Object
   ↳ com.facebook.binaryresource.ByteArrayBinaryResource

Class Overview

A trivial implementation of BinaryResource that wraps a byte array

Summary

Public Constructors
ByteArrayBinaryResource(byte[] bytes)
Public Methods
InputStream openStream()
Opens a new InputStream for reading from this source.
byte[] read()
Get the underlying byte array
long size()
Returns the size of this source in bytes.
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.facebook.binaryresource.BinaryResource

Public Constructors

public ByteArrayBinaryResource (byte[] bytes)

Public Methods

public InputStream openStream ()

Opens a new InputStream for reading from this source. This method should return a new, independent stream each time it is called.

The caller is responsible for ensuring that the returned stream is closed.

Throws
IOException

public byte[] read ()

Get the underlying byte array

Returns
  • the underlying byte array of this resource

public long size ()

Returns the size of this source in bytes. This may be a heavyweight operation that will open a stream, read (or skip, if possible) to the end of the stream and return the total number of bytes that were read.

For some sources, such as a file, this method may use a more efficient implementation. Note that in such cases, it is possible that this method will return a different number of bytes than would be returned by reading all of the bytes (for example, some special files may return a size of 0 despite actually having content when read).

In either case, if this is a mutable source such as a file, the size it returns may not be the same number of bytes a subsequent read would return.