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(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, write
protected 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
- decimalspublic 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(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 double
public 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)
write
in class OutputStream
public void write(byte[] b, int off, int len)
write
in class OutputStream
public byte[] getBuffer()
Copyright © 2020. All rights reserved.