Package com.lowagie.text.pdf
Class ByteBuffer
java.lang.Object
java.io.OutputStream
com.lowagie.text.pdf.ByteBuffer
- All Implemented Interfaces:
Closeable
,Flushable
,AutoCloseable
Acts like a
StringBuffer
but works with byte
arrays. Floating point is converted to a
format suitable to the PDF.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected byte[]
The buffer where the bytes are stored.private static byte[][]
private static int
private static final byte[]
private static final char[]
protected int
The count of bytes in the buffer.private static final DecimalFormatSymbols
static boolean
Iftrue
always output floating point numbers with 6 decimal digits.static final byte
-
Constructor Summary
ConstructorsConstructorDescriptionCreates new ByteBuffer with capacity 128ByteBuffer
(int size) Creates a byte buffer with a certain capacity. -
Method Summary
Modifier and TypeMethodDescriptionappend
(byte b) append
(byte[] b) Appends an array of bytes.append
(byte[] b, int off, int len) Appends the subarray of thebyte
array.append
(char c) Appends achar
to the buffer.append
(double d) Appends a string representation of adouble
according to the Pdf conventions.append
(float i) Appends a string representation of afloat
according to the Pdf conventions.append
(int i) Appends the string representation of anint
.append
(long l) Appends the string representation of along
.append
(ByteBuffer buf) Appends anotherByteBuffer
to this buffer.Appends aString
to the buffer.append_i
(int b) Appends anint
.appendHex
(byte b) private static byte[]
convertToBytes
(int i) Converts an double (multiplied by 100 and cast to an int) into an array of bytes.static void
fillCache
(int decimals) You can fill the cache in advance if you want to.static String
formatDouble
(double d) Outputs adouble
into a format suitable for the PDF.static String
formatDouble
(double d, ByteBuffer buf) Outputs adouble
into a format suitable for the PDF.byte[]
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[]
Creates a newly allocated byte array.toString()
Converts the buffer's contents into a string, translating bytes into characters according to the platform's default character encoding.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 usingout.write(buf, 0, count)
.Methods inherited from class java.io.OutputStream
close, flush, nullOutputStream, write
-
Field Details
-
ZERO
public static final byte ZERO- See Also:
-
chars
private static final char[] chars -
bytes
private static final byte[] bytes -
dfs
-
HIGH_PRECISION
public static boolean HIGH_PRECISIONIftrue
always output floating point numbers with 6 decimal digits. Iffalse
uses the faster, although less precise, representation. -
byteCacheSize
private static int byteCacheSize -
byteCache
private static byte[][] byteCache -
count
protected int countThe count of bytes in the buffer. -
buf
protected byte[] bufThe buffer where the bytes are stored.
-
-
Constructor Details
-
ByteBuffer
public ByteBuffer()Creates new ByteBuffer with capacity 128 -
ByteBuffer
public ByteBuffer(int size) Creates a byte buffer with a certain capacity.- Parameters:
size
- the initial capacity
-
-
Method Details
-
setCacheSize
public static void setCacheSize(int size) Sets the cache 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.
- Parameters:
size
- the size of the cache
-
fillCache
public static void fillCache(int decimals) You can fill the cache in advance if you want to.- Parameters:
decimals
- decimals
-
convertToBytes
private static byte[] convertToBytes(int i) Converts an double (multiplied by 100 and cast to an int) into an array of bytes.- Parameters:
i
- the int- Returns:
- a byte array
-
formatDouble
Outputs adouble
into a format suitable for the PDF.- Parameters:
d
- a double- Returns:
- the
String
representation of thedouble
-
formatDouble
Outputs adouble
into a format suitable for the PDF.- Parameters:
d
- a doublebuf
- a ByteBuffer- Returns:
- the
String
representation of thedouble
ifbuf
isnull
. Ifbuf
is notnull
, then the double is appended directly to the buffer and this methods returnsnull
.
-
append_i
Appends anint
. The size of the array will grow by one.- Parameters:
b
- the int to be appended- Returns:
- a reference to this
ByteBuffer
object
-
append
Appends the subarray of thebyte
array. The buffer will grow bylen
bytes.- Parameters:
b
- the array to be appendedoff
- the offset to the start of the arraylen
- the length of bytes to append- Returns:
- a reference to this
ByteBuffer
object
-
append
Appends an array of bytes.- Parameters:
b
- the array to be appended- Returns:
- a reference to this
ByteBuffer
object
-
append
Appends aString
to the buffer. TheString
is converted according to the encoding ISO-8859-1.- Parameters:
str
- theString
to be appended- Returns:
- a reference to this
ByteBuffer
object
-
append
Appends achar
to the buffer. Thechar
is converted according to the encoding ISO-8859-1.- Parameters:
c
- thechar
to be appended- Returns:
- a reference to this
ByteBuffer
object
-
append
Appends anotherByteBuffer
to this buffer.- Parameters:
buf
- theByteBuffer
to be appended- Returns:
- a reference to this
ByteBuffer
object
-
append
Appends the string representation of anint
.- Parameters:
i
- theint
to be appended- Returns:
- a reference to this
ByteBuffer
object
-
append
Appends the string representation of along
.- Parameters:
l
- thelong
to be appended- Returns:
- a reference to this
ByteBuffer
object
-
append
-
appendHex
-
append
Appends a string representation of afloat
according to the Pdf conventions.- Parameters:
i
- thefloat
to be appended- Returns:
- a reference to this
ByteBuffer
object
-
append
Appends a string representation of adouble
according to the Pdf conventions.- Parameters:
d
- thedouble
to be appended- Returns:
- a reference to this
ByteBuffer
object
-
reset
public void reset()Sets the size to zero. -
toByteArray
public byte[] toByteArray()Creates a newly allocated byte array. Its size is the current size of this output stream and the valid contents of the buffer have been copied into it.- Returns:
- the current contents of this output stream, as a byte array.
-
size
public int size()Returns the current size of the buffer.- Returns:
- the value of the
count
field, which is the number of valid bytes in this byte buffer.
-
setSize
public void setSize(int size) -
toString
Converts the buffer's contents into a string, translating bytes into characters according to the platform's default character encoding. -
toString
Converts the buffer's contents into a string, translating bytes into characters according to the specified character encoding.- Parameters:
enc
- a character-encoding name.- Returns:
- String translated from the buffer's contents.
- Throws:
UnsupportedEncodingException
- If the named encoding is not supported.
-
writeTo
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 usingout.write(buf, 0, count)
.- Parameters:
out
- the output stream to which to write the data.- Throws:
IOException
- if an I/O error occurs.
-
write
public void write(int b) - Specified by:
write
in classOutputStream
-
write
public void write(byte[] b, int off, int len) - Overrides:
write
in classOutputStream
-
getBuffer
public byte[] getBuffer()
-