|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.io.OutputStream java.io.FilterOutputStream java.io.BufferedOutputStream nom.tam.util.BufferedDataOutputStream
public class BufferedDataOutputStream
This class is intended for high performance I/O in scientific applications. It combines the functionality of the BufferedOutputStream and the DataOutputStream as well as more efficient handling of arrays. This minimizes the number of method calls that are required to write data. Informal tests of this method show that it can be as much as 10 times faster than using a DataOutputStream layered on a BufferedOutputStream for writing large arrays. The performance gain on scalars or small arrays will be less but there should probably never be substantial degradation of performance.
Note that there is substantial duplication of code to minimize method invocations. However simple output methods were used where empirical tests seemed to indicate that the simpler method did not cost any time. It seems likely that most of these variations will be washed out across different compilers and users who wish to tune the method for their particular system may wish to compare the the implementation of write(int[], int, int) with write(float[], int, int).
Testing and timing for this class is peformed in the nom.tam.util.test.BufferedFileTester class.
Field Summary |
---|
Fields inherited from class java.io.BufferedOutputStream |
---|
buf, count |
Fields inherited from class java.io.FilterOutputStream |
---|
out |
Constructor Summary | |
---|---|
BufferedDataOutputStream(java.io.OutputStream o)
Use the BufferedOutputStream constructor |
|
BufferedDataOutputStream(java.io.OutputStream o,
int bufLength)
Use the BufferedOutputStream constructor |
Method Summary | |
---|---|
protected void |
checkBuf(int need)
|
void |
write(boolean[] b)
Write an array of booleans. |
void |
write(boolean[] b,
int start,
int len)
Write a segment of an array of booleans. |
void |
write(char[] c)
Write an array of char's. |
void |
write(char[] c,
int start,
int len)
Write a segment of an array of char's. |
void |
write(double[] d)
Write an array of doubles. |
void |
write(double[] d,
int start,
int len)
|
void |
write(float[] f)
Write an array of floats. |
void |
write(float[] f,
int start,
int len)
|
void |
write(int[] i)
Write an array of int's. |
void |
write(int[] i,
int start,
int len)
Write a segment of an array of int's. |
void |
write(long[] l)
Write an array of longs. |
void |
write(long[] l,
int start,
int len)
Write a segement of an array of longs. |
void |
write(short[] s)
Write an array of shorts. |
void |
write(short[] s,
int start,
int len)
Write a segment of an array of shorts. |
void |
write(java.lang.String[] s)
Write an array of Strings -- equivalent to calling writeBytes for each string. |
void |
write(java.lang.String[] s,
int start,
int len)
Write a segment of an array of Strings. |
void |
writeArray(java.lang.Object o)
This routine provides efficient writing of arrays of any primitive type. |
void |
writeBoolean(boolean b)
Write a boolean value |
void |
writeByte(int b)
Write a byte value. |
void |
writeBytes(java.lang.String s)
Write a string using the local protocol to convert char's to bytes. |
void |
writeChar(int c)
Write a char value. |
void |
writeChars(java.lang.String s)
Write a string as an array of chars. |
void |
writeDouble(double d)
Write a double value. |
void |
writeFloat(float f)
Write a float value. |
void |
writeInt(int i)
Write an integer value. |
void |
writeLong(long l)
Write a long value. |
void |
writePrimitiveArray(java.lang.Object o)
This routine provides efficient writing of arrays of any primitive type. |
void |
writeShort(int s)
Write a short value. |
void |
writeUTF(java.lang.String s)
Write a string as a UTF. |
Methods inherited from class java.io.BufferedOutputStream |
---|
flush, write, write |
Methods inherited from class java.io.FilterOutputStream |
---|
close, write |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface nom.tam.util.ArrayDataOutput |
---|
close, flush, write, write |
Methods inherited from interface java.io.DataOutput |
---|
write |
Constructor Detail |
---|
public BufferedDataOutputStream(java.io.OutputStream o)
o
- An open output stream.public BufferedDataOutputStream(java.io.OutputStream o, int bufLength)
o
- An open output stream.bufLength
- The buffer size.Method Detail |
---|
public void writeBoolean(boolean b) throws java.io.IOException
writeBoolean
in interface java.io.DataOutput
b
- The value to be written. Externally true is represented as
a byte of 1 and false as a byte value of 0.
java.io.IOException
public void writeByte(int b) throws java.io.IOException
writeByte
in interface java.io.DataOutput
java.io.IOException
public void writeInt(int i) throws java.io.IOException
writeInt
in interface java.io.DataOutput
java.io.IOException
public void writeShort(int s) throws java.io.IOException
writeShort
in interface java.io.DataOutput
java.io.IOException
public void writeChar(int c) throws java.io.IOException
writeChar
in interface java.io.DataOutput
java.io.IOException
public void writeLong(long l) throws java.io.IOException
writeLong
in interface java.io.DataOutput
java.io.IOException
public void writeFloat(float f) throws java.io.IOException
writeFloat
in interface java.io.DataOutput
java.io.IOException
public void writeDouble(double d) throws java.io.IOException
writeDouble
in interface java.io.DataOutput
java.io.IOException
public void writeBytes(java.lang.String s) throws java.io.IOException
writeBytes
in interface java.io.DataOutput
s
- The string to be written.
java.io.IOException
public void writeChars(java.lang.String s) throws java.io.IOException
writeChars
in interface java.io.DataOutput
java.io.IOException
public void writeUTF(java.lang.String s) throws java.io.IOException
writeUTF
in interface java.io.DataOutput
java.io.IOException
public void writePrimitiveArray(java.lang.Object o) throws java.io.IOException
o
- The object to be written. It must be an array of a primitive
type, Object, or String.
java.io.IOException
public void writeArray(java.lang.Object o) throws java.io.IOException
writeArray
in interface ArrayDataOutput
o
- The object to be written. It must be an array of a primitive
type, Object, or String.
java.io.IOException
- if the argument is not of the proper typepublic void write(boolean[] b) throws java.io.IOException
write
in interface ArrayDataOutput
java.io.IOException
public void write(boolean[] b, int start, int len) throws java.io.IOException
write
in interface ArrayDataOutput
java.io.IOException
public void write(short[] s) throws java.io.IOException
write
in interface ArrayDataOutput
java.io.IOException
public void write(short[] s, int start, int len) throws java.io.IOException
write
in interface ArrayDataOutput
java.io.IOException
public void write(char[] c) throws java.io.IOException
write
in interface ArrayDataOutput
java.io.IOException
public void write(char[] c, int start, int len) throws java.io.IOException
write
in interface ArrayDataOutput
java.io.IOException
public void write(int[] i) throws java.io.IOException
write
in interface ArrayDataOutput
java.io.IOException
public void write(int[] i, int start, int len) throws java.io.IOException
write
in interface ArrayDataOutput
java.io.IOException
public void write(long[] l) throws java.io.IOException
write
in interface ArrayDataOutput
java.io.IOException
public void write(long[] l, int start, int len) throws java.io.IOException
write
in interface ArrayDataOutput
java.io.IOException
public void write(float[] f) throws java.io.IOException
write
in interface ArrayDataOutput
java.io.IOException
public void write(float[] f, int start, int len) throws java.io.IOException
write
in interface ArrayDataOutput
java.io.IOException
public void write(double[] d) throws java.io.IOException
write
in interface ArrayDataOutput
java.io.IOException
public void write(double[] d, int start, int len) throws java.io.IOException
write
in interface ArrayDataOutput
java.io.IOException
public void write(java.lang.String[] s) throws java.io.IOException
write
in interface ArrayDataOutput
java.io.IOException
public void write(java.lang.String[] s, int start, int len) throws java.io.IOException
write
in interface ArrayDataOutput
java.io.IOException
protected void checkBuf(int need) throws java.io.IOException
java.io.IOException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |