public class ByteBuffer extends OutputStream
StringBuffer but works with byte arrays.
Floating point is converted to a format suitable to the PDF.| Modifier and Type | Field and Description |
|---|---|
protected byte[] |
buf
The buffer where the bytes are stored.
|
protected int |
count
The count of bytes in the buffer.
|
static boolean |
HIGH_PRECISION
If
true always output floating point numbers with 6 decimal digits. |
static byte |
ZERO |
| Constructor and Description |
|---|
ByteBuffer()
Creates new ByteBuffer with capacity 128
|
ByteBuffer(int size)
Creates a byte buffer with a certain capacity.
|
| Modifier and Type | Method and Description |
|---|---|
ByteBuffer |
append_i(int b)
Appends an
int. |
ByteBuffer |
append(byte b) |
ByteBuffer |
append(byte[] b)
Appends an array of bytes.
|
ByteBuffer |
append(byte[] b,
int off,
int len)
Appends the subarray of the
byte array. |
ByteBuffer |
append(ByteBuffer buf)
Appends another
ByteBuffer to this buffer. |
ByteBuffer |
append(char c)
Appends a
char to the buffer. |
ByteBuffer |
append(double d)
Appends a string representation of a
double according
to the Pdf conventions. |
ByteBuffer |
append(float i)
Appends a string representation of a
float according
to the Pdf conventions. |
ByteBuffer |
append(int i)
Appends the string representation of an
int. |
ByteBuffer |
append(long i)
Appends the string representation of a
long. |
ByteBuffer |
append(String str)
Appends a
String to the buffer. |
ByteBuffer |
appendHex(byte b) |
static void |
fillCache(int decimals)
You can fill the cache in advance if you want to.
|
static String |
formatDouble(double d)
Outputs a
double into a format suitable for the PDF. |
static String |
formatDouble(double d,
ByteBuffer buf)
Outputs a
double into a format suitable for the PDF. |
byte[] |
getBuffer() |
void |
reset()
Sets the size to zero.
|
static void |
setCacheSize(int size)
Sets the cache size.
|
void |
setSize(int size) |
int |
size()
Returns the current size of the buffer.
|
byte[] |
toByteArray()
Creates a newly allocated byte array.
|
String |
toString()
Converts the buffer's contents into a string, translating bytes into
characters according to the platform's default character encoding.
|
String |
toString(String enc)
Converts the buffer's contents into a string, translating bytes into
characters according to the specified character encoding.
|
void |
write(byte[] b,
int off,
int len) |
void |
write(int b) |
void |
writeTo(OutputStream out)
Writes the complete contents of this byte buffer output to
the specified output stream argument, as if by calling the output
stream's write method using
out.write(buf, 0, count). |
close, flush, writeprotected int count
protected byte[] buf
public static final byte ZERO
public static boolean HIGH_PRECISION
true always output floating point numbers with 6 decimal digits.
If false uses the faster, although less precise, representation.public ByteBuffer()
public ByteBuffer(int size)
size - the initial capacitypublic static void setCacheSize(int size)
This can only be used to increment the size. If the size that is passed through is smaller than the current size, nothing happens.
size - the size of the cachepublic static void fillCache(int decimals)
decimals - public ByteBuffer append_i(int b)
int. The size of the array will grow by one.b - the int to be appendedByteBuffer objectpublic ByteBuffer append(byte[] b, int off, int len)
byte array. The buffer will grow by
len bytes.b - the array to be appendedoff - the offset to the start of the arraylen - the length of bytes to appendByteBuffer objectpublic ByteBuffer append(byte[] b)
b - the array to be appendedByteBuffer objectpublic ByteBuffer append(String str)
String to the buffer. The String is
converted according to the encoding ISO-8859-1.str - the String to be appendedByteBuffer objectpublic ByteBuffer append(char c)
char to the buffer. The char is
converted according to the encoding ISO-8859-1.c - the char to be appendedByteBuffer objectpublic ByteBuffer append(ByteBuffer buf)
ByteBuffer to this buffer.buf - the ByteBuffer to be appendedByteBuffer objectpublic ByteBuffer append(int i)
int.i - the int to be appendedByteBuffer objectpublic ByteBuffer append(long i)
long.i - the long to be appendedByteBuffer objectpublic ByteBuffer append(byte b)
public ByteBuffer appendHex(byte b)
public ByteBuffer append(float i)
float according
to the Pdf conventions.i - the float to be appendedByteBuffer objectpublic ByteBuffer append(double d)
double according
to the Pdf conventions.d - the double to be appendedByteBuffer objectpublic static String formatDouble(double d)
double into a format suitable for the PDF.d - a doubleString representation of the doublepublic static String formatDouble(double d, ByteBuffer buf)
double into a format suitable for the PDF.d - a doublebuf - a ByteBufferString representation of the double if
buf is null. If buf is not null,
then the double is appended directly to the buffer and this methods returns null.public void reset()
public byte[] toByteArray()
public int size()
count field, which is the number of valid bytes in this byte buffer.public void setSize(int size)
public String toString()
public String toString(String enc) throws UnsupportedEncodingException
enc - a character-encoding name.UnsupportedEncodingException - If the named encoding is not supported.public void writeTo(OutputStream out) throws IOException
out.write(buf, 0, count).out - the output stream to which to write the data.IOException - if an I/O error occurs.public void write(int b)
throws IOException
write in class OutputStreamIOExceptionpublic void write(byte[] b,
int off,
int len)
write in class OutputStreampublic byte[] getBuffer()
Copyright © 2020. All rights reserved.