- All Known Subinterfaces:
ImageOutputStream,ObjectOutput
- All Known Implementing Classes:
DataOutputStream,FileCacheImageOutputStream,FileImageOutputStream,ImageOutputStreamImpl,MemoryCacheImageOutputStream,ObjectOutputStream,RandomAccessFile
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.
- Since:
- 1.0
- See Also:
DataInput,DataOutputStream
-
Method Summary
Modifier and Type Method Description voidwrite(byte[] b)Writes to the output stream all the bytes in arrayb.voidwrite(byte[] b, int off, int len)Writeslenbytes from arrayb, in order, to the output stream.voidwrite(int b)Writes to the output stream the eight low-order bits of the argumentb.voidwriteBoolean(boolean v)Writes abooleanvalue to this output stream.voidwriteByte(int v)Writes to the output stream the eight low- order bits of the argumentv.voidwriteBytes(String s)Writes a string to the output stream.voidwriteChar(int v)Writes acharvalue, which is comprised of two bytes, to the output stream.voidwriteChars(String s)Writes every character in the strings, to the output stream, in order, two bytes per character.voidwriteDouble(double v)Writes adoublevalue, which is comprised of eight bytes, to the output stream.voidwriteFloat(float v)Writes afloatvalue, which is comprised of four bytes, to the output stream.voidwriteInt(int v)Writes anintvalue, which is comprised of four bytes, to the output stream.voidwriteLong(long v)Writes alongvalue, which is comprised of eight bytes, to the output stream.voidwriteShort(int v)Writes two bytes to the output stream to represent the value of the argument.voidwriteUTF(String s)Writes two bytes of length information to the output stream, followed by the modified UTF-8 representation of every character in the strings.
-
Method Details
-
write
Writes to the output stream the eight low-order bits of the argumentb. The 24 high-order bits ofbare ignored.- Parameters:
b- the byte to be written.- Throws:
IOException- if an I/O error occurs.
-
write
Writes 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].- Parameters:
b- the data.- Throws:
IOException- if an I/O error occurs.
-
write
Writeslenbytes 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].- Parameters:
b- the data.off- the start offset in the data.len- the number of bytes to write.- Throws:
IOException- if an I/O error occurs.
-
writeBoolean
Writes 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.- Parameters:
v- the boolean to be written.- Throws:
IOException- if an I/O error occurs.
-
writeByte
Writes 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.- Parameters:
v- the byte value to be written.- Throws:
IOException- if an I/O error occurs.
-
writeShort
Writes 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.- Parameters:
v- theshortvalue to be written.- Throws:
IOException- if an I/O error occurs.
-
writeChar
Writes 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.- Parameters:
v- thecharvalue to be written.- Throws:
IOException- if an I/O error occurs.
-
writeInt
Writes 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.- Parameters:
v- theintvalue to be written.- Throws:
IOException- if an I/O error occurs.
-
writeLong
Writes 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.- Parameters:
v- thelongvalue to be written.- Throws:
IOException- if an I/O error occurs.
-
writeFloat
Writes 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.- Parameters:
v- thefloatvalue to be written.- Throws:
IOException- if an I/O error occurs.
-
writeDouble
Writes 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.- Parameters:
v- thedoublevalue to be written.- Throws:
IOException- if an I/O error occurs.
-
writeBytes
Writes 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.- Parameters:
s- the string of bytes to be written.- Throws:
IOException- if an I/O error occurs.
-
writeChars
Writes 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.- Parameters:
s- the string value to be written.- Throws:
IOException- if an I/O error occurs.
-
writeUTF
Writes 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.- Parameters:
s- the string value to be written.- Throws:
IOException- if an I/O error occurs.
-