Interface: java.io.DataOutput
- public interface DataOutput
DataOutput interface provides
for converting data from any of the Java
primitive types to a series of bytes and
writing these bytes to a binary stream.
There is also a facility for converting
a String into
modified UTF-8
format and writing the resulting series
of bytes.
For all the methods in this interface that
write bytes, it is generally true that if
a byte cannot be written for any reason,
an IOException is thrown.
Methods
-
writetop
public void write(int b) throws IOExceptionWrites to the output stream the eight low-order bits of the argumentb. The 24 high-order bits ofbare ignored. -
writetop
public void write(byte[] b) throws IOExceptionWrites to the output stream all the bytes in arrayb. Ifbisnull, aNullPointerExceptionis thrown. Ifb.lengthis zero, then no bytes are written. Otherwise, the byteb[0]is written first, thenb[1], and so on; the last byte written isb[b.length-1]. -
writetop
public void write(byte[] b, int off, int len) throws IOExceptionWriteslenbytes from arrayb, in order, to the output stream. Ifbisnull, aNullPointerExceptionis thrown. Ifoffis negative, orlenis negative, oroff+lenis greater than the length of the arrayb, then anIndexOutOfBoundsExceptionis thrown. Iflenis zero, then no bytes are written. Otherwise, the byteb[off]is written first, thenb[off+1], and so on; the last byte written isb[off+len-1]. -
writeBooleantop
public void writeBoolean(boolean v) throws IOExceptionWrites abooleanvalue to this output stream. If the argumentvistrue, the value(byte)1is written; ifvisfalse, the value(byte)0is written. The byte written by this method may be read by thereadBooleanmethod of interfaceDataInput, which will then return abooleanequal tov. -
writeBytetop
public void writeByte(int v) throws IOExceptionWrites to the output stream the eight low- order bits of the argumentv. The 24 high-order bits ofvare ignored. (This means thatwriteBytedoes exactly the same thing aswritefor an integer argument.) The byte written by this method may be read by thereadBytemethod of interfaceDataInput, which will then return abyteequal to(byte)v. -
writeBytestop
public void writeBytes(String s) throws IOExceptionWrites a string to the output stream. For every character in the strings, taken in order, one byte is written to the output stream. Ifsisnull, aNullPointerExceptionis thrown.If
s.lengthis zero, then no bytes are written. Otherwise, the characters[0]is written first, thens[1], and so on; the last character written iss[s.length-1]. For each character, one byte is written, the low-order byte, in exactly the manner of thewriteBytemethod . The high-order eight bits of each character in the string are ignored. -
writeChartop
public void writeChar(int v) throws IOExceptionWrites acharvalue, which is comprised of two bytes, to the output stream. The byte values to be written, in the order shown, are:(byte)(0xff & (v >> 8)) (byte)(0xff & v)The bytes written by this method may be read by the
readCharmethod of interfaceDataInput, which will then return acharequal to(char)v. -
writeCharstop
public void writeChars(String s) throws IOExceptionWrites every character in the strings, to the output stream, in order, two bytes per character. Ifsisnull, aNullPointerExceptionis thrown. Ifs.lengthis zero, then no characters are written. Otherwise, the characters[0]is written first, thens[1], and so on; the last character written iss[s.length-1]. For each character, two bytes are actually written, high-order byte first, in exactly the manner of thewriteCharmethod. -
writeDoubletop
public void writeDouble(double v) throws IOExceptionWrites adoublevalue, which is comprised of eight bytes, to the output stream. It does this as if it first converts thisdoublevalue to alongin exactly the manner of theDouble.doubleToLongBitsmethod and then writes thelongvalue in exactly the manner of thewriteLongmethod. The bytes written by this method may be read by thereadDoublemethod of interfaceDataInput, which will then return adoubleequal tov. -
writeFloattop
public void writeFloat(float v) throws IOExceptionWrites afloatvalue, which is comprised of four bytes, to the output stream. It does this as if it first converts thisfloatvalue to anintin exactly the manner of theFloat.floatToIntBitsmethod and then writes theintvalue in exactly the manner of thewriteIntmethod. The bytes written by this method may be read by thereadFloatmethod of interfaceDataInput, which will then return afloatequal tov. -
writeInttop
public void writeInt(int v) throws IOExceptionWrites anintvalue, 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
readIntmethod of interfaceDataInput, which will then return anintequal tov. -
writeLongtop
public void writeLong(long v) throws IOExceptionWrites alongvalue, which is comprised of eight bytes, to the output stream. The byte values to be written, in the order shown, are:(byte)(0xff & (v >> 56)) (byte)(0xff & (v >> 48)) (byte)(0xff & (v >> 40)) (byte)(0xff & (v >> 32)) (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
readLongmethod of interfaceDataInput, which will then return alongequal tov. -
writeShorttop
public void writeShort(int v) throws IOExceptionWrites two bytes to the output stream to represent the value of the argument. The byte values to be written, in the order shown, are:(byte)(0xff & (v >> 8)) (byte)(0xff & v)The bytes written by this method may be read by the
readShortmethod of interfaceDataInput, which will then return ashortequal to(short)v. -
writeUTFtop
public void writeUTF(String s) throws IOExceptionWrites two bytes of length information to the output stream, followed by the modified UTF-8 representation of every character in the strings. Ifsisnull, aNullPointerExceptionis thrown. Each character in the stringsis converted to a group of one, two, or three bytes, depending on the value of the character.If a character
cis in the range\u0001through\u007f, it is represented by one byte:(byte)c
If a character
cis\u0000or is in the range\u0080through\u07ff, then it is represented by two bytes, to be written in the order shown:(byte)(0xc0 | (0x1f & (c >> 6))) (byte)(0x80 | (0x3f & c))If a character
cis in the range\u0800throughuffff, then it is represented by three bytes, to be written in the order shown:(byte)(0xe0 | (0x0f & (c >> 12))) (byte)(0x80 | (0x3f & (c >> 6))) (byte)(0x80 | (0x3f & c))First, the total number of bytes needed to represent all the characters of
sis calculated. If this number is larger than65535, then aUTFDataFormatExceptionis thrown. Otherwise, this length is written to the output stream in exactly the manner of thewriteShortmethod; after this, the one-, two-, or three-byte representation of each character in the stringsis written.The bytes written by this method may be read by the
readUTFmethod of interfaceDataInput, which will then return aStringequal tos.
