將數(shù)組 b 中的 len 個(gè)字節(jié)按順序?qū)懭胼敵隽鳌?span style="color: #993300">如果 b 為 null,則拋出 NullPointerException。如果 off 為負(fù),或 len 為負(fù),抑或 off+len 大于數(shù)組 b 的長(zhǎng)度,則拋出 IndexOutOfBoundsException。如果 len 為零,則不寫(xiě)入字節(jié)。否則,首先寫(xiě)入字節(jié) b[off],然后寫(xiě)入字節(jié) b[off+1],依此類(lèi)推;最后一個(gè)寫(xiě)入字節(jié)是 b[off+len-1]。
?
參數(shù):
b - 數(shù)據(jù)。
off - 數(shù)據(jù)中的起始偏移量。
len - 要寫(xiě)入的字節(jié)數(shù)。
拋出:
IOException - 如果發(fā)生 I/O 錯(cuò)誤。
writeBoolean
void writeBoolean(boolean?v)throws IOException
將一個(gè) boolean 值寫(xiě)入輸出流。如果參數(shù) v 為 true,則寫(xiě)入值 (byte)1;如果 v 為 false,則寫(xiě)入值 (byte)0。此方法寫(xiě)入的字節(jié)可由 DataInput 接口的 readBoolean 方法讀取,然后該方法將返回一個(gè)等于 v 的 boolean 值。
?
參數(shù):
v - 要寫(xiě)入的 boolean 值。
拋出:
IOException - 如果發(fā)生 I/O 錯(cuò)誤。
writeByte
void writeByte(int?v)throws IOException
將參數(shù) v 的八個(gè)低位寫(xiě)入輸出流。忽略 v 的 24 個(gè)高位。(這意味著 writeByte 的作用與使用整數(shù)做參數(shù)的 write 完全相同。)此方法寫(xiě)入的字節(jié)可由 DataInput 接口的 readByte 方法讀取,然后該方法將返回一個(gè)等于 (byte)v 的 byte 值。
?
參數(shù):
v - 要寫(xiě)入的字節(jié)值。
拋出:
IOException - 如果發(fā)生 I/O 錯(cuò)誤。
writeShort
void writeShort(int?v)throws IOException
將兩個(gè)字節(jié)寫(xiě)入輸出流,用它們表示參數(shù)值。要寫(xiě)入的字節(jié)值(按順序顯示)是: (byte)(0xff & (v >> 8))(byte)(0xff & v)
此方法寫(xiě)入的字節(jié)可由 DataInput 接口的 readShort 方法讀取,然后該方法將返回一個(gè)等于 (short)v 的 short 值。
?
參數(shù):
v - 要寫(xiě)入的 short 值。
拋出:
IOException - 如果發(fā)生 I/O 錯(cuò)誤。
writeChar
void writeChar(int?v)throws IOException
將一個(gè) char 值寫(xiě)入輸出流,該值由兩個(gè)字節(jié)組成。要寫(xiě)入的字節(jié)值(按順序顯示)是: (byte)(0xff & (v >> 8))(byte)(0xff & v)
將一個(gè) int 值寫(xiě)入輸出流,該值由四個(gè)字節(jié)組成。要寫(xiě)入的字節(jié)值(按順序顯示)是: (byte)(0xff & (v >> 24))(byte)(0xff & (v >> 16))(byte)(0xff & (v >> 8))(byte)(0xff & v)
此方法寫(xiě)入的字節(jié)可由 DataInput 接口的 readInt 方法讀取,然后該方法將返回一個(gè)等于 v 的 int 值。
?
參數(shù):
v - 要寫(xiě)入的 int 值。
拋出:
IOException - 如果發(fā)生 I/O 錯(cuò)誤。
writeLong
void writeLong(long?v)throws IOException
將一個(gè) long 值寫(xiě)入輸出流,該值由八個(gè)字節(jié)組成。要寫(xiě)入的字節(jié)值(按順序顯示)是: (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)
此方法寫(xiě)入的字節(jié)可由 DataInput 接口的 readLong 方法讀取,然后該方法將返回一個(gè)等于 v 的 long 值。
?
參數(shù):
v - 要寫(xiě)入的 long 值。
拋出:
IOException - 如果發(fā)生 I/O 錯(cuò)誤。
writeFloat
void writeFloat(float?v)throws IOException
將一個(gè) float 值寫(xiě)入輸出流,該值由四個(gè)字節(jié)組成。實(shí)現(xiàn)這一點(diǎn)的方式是:首先使用與 Float.floatToIntBits 方法完全相同的方式將此 float 值轉(zhuǎn)換為一個(gè) int 值,然后使用與 writeInt 方法完全相同的方式寫(xiě)入該 int 值。此方法寫(xiě)入的字節(jié)可由 DataInput 接口的 readFloat 方法讀取,然后該方法將返回一個(gè)等于 v 的 float 值。
?
參數(shù):
v - 要寫(xiě)入的 float 值。
拋出:
IOException - 如果發(fā)生 I/O 錯(cuò)誤。
writeDouble
void writeDouble(double?v)throws IOException
將一個(gè) double 值寫(xiě)入輸出流,該值由八個(gè)字節(jié)組成。實(shí)現(xiàn)這一點(diǎn)的方式是:首先使用與 Double.doubleToLongBits 方法相同的方式將此 double 值轉(zhuǎn)換為一個(gè) long 值,然后使用與 writeLong 方法完全相同的方式寫(xiě)入該 long 值。此方法寫(xiě)入的字節(jié)可由 DataInput 接口的 readDouble 方法讀取,然后該方法將返回一個(gè)等于 v 的 double 值。
?
參數(shù):
v - 要寫(xiě)入的 double 值。
拋出:
IOException - 如果發(fā)生 I/O 錯(cuò)誤。
writeBytes
void writeBytes(String?s)throws IOException
將一個(gè)字符串寫(xiě)入輸出流。字符串 s 中的每一個(gè)字符被依次寫(xiě)入輸出流,每個(gè)字符用一個(gè)字節(jié)表示。如果 s 為 null,則拋出 NullPointerException。
將字符串 s 中的所有字符按順序?qū)懭胼敵隽?#xff0c;每個(gè)字符用兩個(gè)字節(jié)表示。如果 s 為 null,則拋出 NullPointerException。如果 s.length 為零,則不寫(xiě)入字符。否則,首先寫(xiě)入字符 s[0],然后寫(xiě)入字符 s[1],依此類(lèi)推;最后一個(gè)寫(xiě)入字符是 s[s.length-1]。使用與 writeChar 方法完全相同的方法為每個(gè)字符實(shí)際寫(xiě)入兩個(gè)字節(jié),先使用高位字節(jié)。
?
參數(shù):
s - 要寫(xiě)入的字符串值。
拋出:
IOException - 如果發(fā)生 I/O 錯(cuò)誤。
writeUTF
void writeUTF(String?s)throws IOException
將表示長(zhǎng)度信息的兩個(gè)字節(jié)寫(xiě)入輸出流,后跟字符串 s 中每個(gè)字符的 UTF-8 修改版表示形式。如果 s 為 null,則拋出 NullPointerException。根據(jù)字符的值,將字符串 s 中每個(gè)字符轉(zhuǎn)換成一個(gè)字節(jié)、兩個(gè)字節(jié)或三個(gè)字節(jié)的字節(jié)組。
如果字符 c 在 \u0001 到 \u007f 的范圍內(nèi),則用一個(gè)字節(jié)表示:
(byte)c
如果字符 c 是 \u0000 或者它在 \u0080 到 \u07ff 的范圍內(nèi),則用兩個(gè)字節(jié)表示,寫(xiě)入順序如下: