public final class NonshareableBufferedDataOutputStream
extends java.io.FilterOutputStream
implements java.io.DataOutput
BufferedOutputStream
,
DataOutputStream
Constructor and Description |
---|
NonshareableBufferedDataOutputStream(java.io.OutputStream out)
Creates a new buffered output stream to write data to the
specified underlying output stream.
|
NonshareableBufferedDataOutputStream(java.io.OutputStream out,
byte[] buf)
Creates a new buffered output stream to write data to the
specified underlying output stream with the specified buffer.
|
NonshareableBufferedDataOutputStream(java.io.OutputStream out,
byte[] buf,
long previousFileSize)
Creates a new buffered output stream to write data to the
specified underlying output stream with the specified buffer.
|
NonshareableBufferedDataOutputStream(java.io.OutputStream out,
int size)
Creates a new buffered output stream to write data to the
specified underlying output stream with the specified buffer
size.
|
Modifier and Type | Method and Description |
---|---|
void |
flush()
Flushes this buffered output stream.
|
int |
getNumFlushes()
Return the number of times data was flushed to the next stream downstream.
|
long |
getNumWritten()
Report the number of bytes written through this stream.
|
int |
getUnwrittenCount()
Get the count of bytes in the buffer that have not been forwarded to the next OutputStream down.
|
void |
write(byte[] b,
int off,
int len)
Writes
len bytes from the specified byte array
starting at offset off to this buffered output stream. |
void |
write(int b)
Writes the specified byte to this buffered output stream.
|
void |
write2Int(int v1,
int v2)
Writes 2
int values, each of which is
comprised of four bytes, to the output stream. |
void |
writeBoolean(boolean v)
Writes a
boolean to the underlying output stream as
a 1-byte value. |
void |
writeByte(int v)
Writes out a
byte to the underlying output stream as
a 1-byte value. |
void |
writeBytes(java.lang.String s)
Writes out the string to the underlying output stream as a
sequence of bytes.
|
void |
writeChar(int v)
Writes a
char to the underlying output stream as a
2-byte value, high byte first. |
void |
writeChars(java.lang.String s)
Writes a string to the underlying output stream as a sequence of
characters.
|
void |
writeDouble(double v)
Converts the double argument to a
long using the
doubleToLongBits method in class Double ,
and then writes that long value to the underlying
output stream as an 8-byte quantity, high byte first. |
void |
writeFloat(float v)
Converts the float argument to an
int using the
floatToIntBits method in class Float ,
and then writes that int value to the underlying
output stream as a 4-byte quantity, high byte first. |
void |
writeInt(int v)
Writes an
int to the underlying output stream as four
bytes, high byte first. |
void |
writeLong(long v)
Writes a
long to the underlying output stream as eight
bytes, high byte first. |
void |
writeShort(int v)
Writes a
short to the underlying output stream as two
bytes, high byte first. |
void |
writeUTF(java.lang.String str)
Writes a string to the underlying output stream using
modified UTF-8
encoding in a machine-independent manner.
|
public NonshareableBufferedDataOutputStream(java.io.OutputStream out)
out
- the underlying output stream.public NonshareableBufferedDataOutputStream(java.io.OutputStream out, int size)
out
- the underlying output stream.size
- the buffer size.java.lang.IllegalArgumentException
- if size < 8.public NonshareableBufferedDataOutputStream(java.io.OutputStream out, byte[] buf)
out
- the underlying output stream.buf
- the buffer to usejava.lang.IllegalArgumentException
- if buf.length < 8.public NonshareableBufferedDataOutputStream(java.io.OutputStream out, byte[] buf, long previousFileSize)
out
- the underlying output stream.buf
- the buffer to usepreviousFileSize
- number of bytes already in the file (suitable for appending to an existing file)java.lang.IllegalArgumentException
- if buf.length < 8.public void write(int b) throws java.io.IOException
write
in interface java.io.DataOutput
write
in class java.io.FilterOutputStream
b
- the byte to be written.java.io.IOException
- if an I/O error occurs.public void write(byte[] b, int off, int len) throws java.io.IOException
len
bytes from the specified byte array
starting at offset off
to this buffered output stream.
Ordinarily this method stores bytes from the given array into this
stream's buffer, flushing the buffer to the underlying output stream as
needed. If the requested length is at least as large as this stream's
buffer, however, then this method will flush the buffer and write the
bytes directly to the underlying output stream. Thus redundant
BufferedOutputStream
s will not copy data unnecessarily.
write
in interface java.io.DataOutput
write
in class java.io.FilterOutputStream
b
- the data.off
- the start offset in the data.len
- the number of bytes to write.java.io.IOException
- if an I/O error occurs.public void flush() throws java.io.IOException
flush
in interface java.io.Flushable
flush
in class java.io.FilterOutputStream
java.io.IOException
- if an I/O error occurs.public final void writeBoolean(boolean v) throws java.io.IOException
boolean
to the underlying output stream as
a 1-byte value. The value true
is written out as the
value (byte)1
; the value false
is
written out as the value (byte)0
.writeBoolean
in interface java.io.DataOutput
v
- a boolean
value to be written.java.io.IOException
- if an I/O error occurs.public final void writeByte(int v) throws java.io.IOException
byte
to the underlying output stream as
a 1-byte value.writeByte
in interface java.io.DataOutput
v
- a byte
value to be written.java.io.IOException
- if an I/O error occurs.public final void writeShort(int v) throws java.io.IOException
short
to the underlying output stream as two
bytes, high byte first.writeShort
in interface java.io.DataOutput
v
- a short
to be written.java.io.IOException
- if an I/O error occurs.public final void writeChar(int v) throws java.io.IOException
char
to the underlying output stream as a
2-byte value, high byte first.writeChar
in interface java.io.DataOutput
v
- a char
value to be written.java.io.IOException
- if an I/O error occurs.public final void writeInt(int v) throws java.io.IOException
int
to the underlying output stream as four
bytes, high byte first.writeInt
in interface java.io.DataOutput
v
- an int
to be written.java.io.IOException
- if an I/O error occurs.public void write2Int(int v1, int v2) throws java.io.IOException
int
values, each of which is
comprised of four bytes, to the output stream.
The byte values to be written, in the order
shown, are:
(byte)(0xff & (v >> 24))
(byte)(0xff & (v >> 16))
(byte)(0xff & (v >> 8))
(byte)(0xff & v)
The bytes written by this method may be read
by the readInt
method of interface
java.io.DataInput
, which will then
return an int
equal to v
.v1
- the first int
value to be written.v2
- the first int
value to be written.java.io.IOException
- if an I/O error occurs.public final void writeLong(long v) throws java.io.IOException
long
to the underlying output stream as eight
bytes, high byte first.writeLong
in interface java.io.DataOutput
v
- a long
to be written.java.io.IOException
- if an I/O error occurs.public final void writeFloat(float v) throws java.io.IOException
int
using the
floatToIntBits
method in class Float
,
and then writes that int
value to the underlying
output stream as a 4-byte quantity, high byte first.writeFloat
in interface java.io.DataOutput
v
- a float
value to be written.java.io.IOException
- if an I/O error occurs.Float.floatToIntBits(float)
public final void writeDouble(double v) throws java.io.IOException
long
using the
doubleToLongBits
method in class Double
,
and then writes that long
value to the underlying
output stream as an 8-byte quantity, high byte first.writeDouble
in interface java.io.DataOutput
v
- a double
value to be written.java.io.IOException
- if an I/O error occurs.Double.doubleToLongBits(double)
public final void writeBytes(java.lang.String s) throws java.io.IOException
writeBytes
in interface java.io.DataOutput
s
- a string of bytes to be written.java.io.IOException
- if an I/O error occurs.public final void writeChars(java.lang.String s) throws java.io.IOException
writeChar
method.writeChars
in interface java.io.DataOutput
s
- a String
value to be written.java.io.IOException
- if an I/O error occurs.writeChar(int)
public final void writeUTF(java.lang.String str) throws java.io.IOException
First, two bytes are written to the output stream as if by the
writeShort
method giving the number of bytes to
follow. This value is the number of bytes actually written out,
not the length of the string. Following the length, each character
of the string is output, in sequence, using the modified UTF-8 encoding
for the character. If no exception is thrown, the counter
written
is incremented by the total number of
bytes written to the output stream. This will be at least two
plus the length of str
, and at most two plus
thrice the length of str
.
writeUTF
in interface java.io.DataOutput
str
- a string to be written.java.io.IOException
- if an I/O error occurs.public long getNumWritten()
public int getUnwrittenCount()
public int getNumFlushes()