|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
public interface DataOutput
DataOutput
介面用於將資料從任意 Java 基本型別轉換為一系列位元組,並將這些位元組寫入二進制串流。同時還提供了一個將 String
轉換成 UTF-8 修改版格式並寫入所得到的系列位元組的工具。
對於此介面中寫入位元組的所有方法,如果由於某種原因無法寫入某個位元組,則拋出 IOException
。
DataInput
,
DataOutputStream
方法摘要 | |
---|---|
void |
write(byte[] b)
將陣列 b 中的所有位元組寫入輸出串流。 |
void |
write(byte[] b,
int off,
int len)
將陣列 b 中的 len 個位元組按順序寫入輸出串流。 |
void |
write(int b)
將參數 b 的八個低位寫入輸出串流。 |
void |
writeBoolean(boolean v)
將一個 boolean 值寫入輸出串流。 |
void |
writeByte(int v)
將參數 v 的八個低位寫入輸出串流。 |
void |
writeBytes(String s)
將一個字元串寫入輸出串流。 |
void |
writeChar(int v)
將一個 char 值寫入輸出串流,該值由兩個位元組組成。 |
void |
writeChars(String s)
將字元串 s 中的所有字元按順序寫入輸出串流,每個字元用兩個位元組表示。 |
void |
writeDouble(double v)
將一個 double 值寫入輸出串流,該值由八個位元組組成。 |
void |
writeFloat(float v)
將一個 float 值寫入輸出串流,該值由四個位元組組成。 |
void |
writeInt(int v)
將一個 int 值寫入輸出串流,該值由四個位元組組成。 |
void |
writeLong(long v)
將一個 long 值寫入輸出串流,該值由八個位元組組成。 |
void |
writeShort(int v)
將兩個位元組寫入輸出串流,用它們表示參數值。 |
void |
writeUTF(String s)
將表示長度資訊的兩個位元組寫入輸出串流,後跟字元串 s 中每個字元的 UTF-8 修改版表示形式。 |
方法詳細資訊 |
---|
void write(int b) throws IOException
b
的八個低位寫入輸出串流。忽略 b
的 24 個高位。
b
- 要寫入的位元組。
IOException
- 如果發生 I/O 錯誤。void write(byte[] b) throws IOException
b
中的所有位元組寫入輸出串流。如果 b
為 null
,則拋出 NullPointerException
。如果 b.length
為零,則不寫入位元組。否則,首先寫入位元組 b[0]
,然後寫入位元組 b[1]
,依此類別推;最後一個寫入位元組是 b[b.length-1]
。
b
- 資料。
IOException
- 如果發生 I/O 錯誤。void write(byte[] b, int off, int len) throws IOException
b
中的 len
個位元組按順序寫入輸出串流。如果 b
為 null
,則拋出 NullPointerException
。如果 off
為負,或 len
為負,抑或 off+len
大於陣列 b
的長度,則拋出 IndexOutOfBoundsException
。如果 len
為零,則不寫入位元組。否則,首先寫入位元組 b[off]
,然後寫入位元組 b[off+1]
,依此類別推;最後一個寫入位元組是 b[off+len-1]
。
b
- 資料。off
- 資料中的起始偏移量。len
- 要寫入的位元組數。
IOException
- 如果發生 I/O 錯誤。void writeBoolean(boolean v) throws IOException
boolean
值寫入輸出串流。如果參數 v
為 true
,則寫入值 (byte)1
;如果 v
為 false
,則寫入值 (byte)0
。此方法寫入的位元組可由 DataInput
介面的 readBoolean
方法讀取,然後該方法將返回一個等於 v
的 boolean
值。
v
- 要寫入的 boolean 值。
IOException
- 如果發生 I/O 錯誤。void writeByte(int v) throws IOException
v
的八個低位寫入輸出串流。忽略 v
的 24 個高位。(這意味著 writeByte
的作用與使用整數做參數的 write
完全相同。)此方法寫入的位元組可由 DataInput
介面的 readByte
方法讀取,然後該方法將返回一個等於 (byte)v
的 byte
值。
v
- 要寫入的位元組值。
IOException
- 如果發生 I/O 錯誤。void writeShort(int v) throws IOException
(byte)(0xff & (v >> 8))
(byte)(0xff & v)
此方法寫入的位元組可由 DataInput
介面的 readShort
方法讀取,然後該方法將返回一個等於 (short)v
的 short
值。
v
- 要寫入的 short
值。
IOException
- 如果發生 I/O 錯誤。void writeChar(int v) throws IOException
char
值寫入輸出串流,該值由兩個位元組組成。要寫入的位元組值(按順序顯示)是:
(byte)(0xff & (v >> 8))
(byte)(0xff & v)
此方法寫入的位元組可由 DataInput
介面的 readChar
方法讀取,然後該方法將返回一個等於 (char)v
的 char
值。
v
- 要寫入的 char
值。
IOException
- 如果發生 I/O 錯誤。void writeInt(int v) throws IOException
int
值寫入輸出串流,該值由四個位元組組成。要寫入的位元組值(按順序顯示)是:
(byte)(0xff & (v >> 24))
(byte)(0xff & (v >> 16))
(byte)(0xff & (v >> 8))
(byte)(0xff & v)
此方法寫入的位元組可由 DataInput
介面的 readInt
方法讀取,然後該方法將返回一個等於 v
的 int
值。
v
- 要寫入的 int
值。
IOException
- 如果發生 I/O 錯誤。void writeLong(long v) throws IOException
long
值寫入輸出串流,該值由八個位元組組成。要寫入的位元組值(按順序顯示)是:
(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)
此方法寫入的位元組可由 DataInput
介面的 readLong
方法讀取,然後該方法將返回一個等於 v
的 long
值。
v
- 要寫入的 long
值。
IOException
- 如果發生 I/O 錯誤。void writeFloat(float v) throws IOException
float
值寫入輸出串流,該值由四個位元組組成。實作這一點的方式是:首先使用與 Float.floatToIntBits
方法完全相同的方式將此 float
值轉換為一個 int
值,然後使用與 writeInt
方法完全相同的方式寫入該 int
值。此方法寫入的位元組可由 DataInput
介面的 readFloat
方法讀取,然後該方法將返回一個等於 v
的 float
值。
v
- 要寫入的 float
值。
IOException
- 如果發生 I/O 錯誤。void writeDouble(double v) throws IOException
double
值寫入輸出串流,該值由八個位元組組成。實作這一點的方式是:首先使用與 Double.doubleToLongBits
方法相同的方式將此 double
值轉換為一個 long
值,然後使用與 writeLong
方法完全相同的方式寫入該 long
值。此方法寫入的位元組可由 DataInput
介面的 readDouble
方法讀取,然後該方法將返回一個等於 v
的 double
值。
v
- 要寫入的 double
值。
IOException
- 如果發生 I/O 錯誤。void writeBytes(String s) throws IOException
s
中的每一個字元被依次寫入輸出串流,每個字元用一個位元組表示。如果 s
為 null
,則拋出 NullPointerException
。如果 s.length
為零,則不寫入位元組。否則,首先寫入字元 s[0]
,然後寫入字元 s[1]
,依此類別推;最後一個寫入字元是 s[s.length-1]
。使用與 writeByte
方法完全相同的方法為每個字元寫入一個低位位元組。忽略字元串中每個字元的八個高位。
s
- 要寫入的位元組字元串。
IOException
- 如果發生 I/O 錯誤。void writeChars(String s) throws IOException
s
中的所有字元按順序寫入輸出串流,每個字元用兩個位元組表示。如果 s
為 null
,則拋出 NullPointerException
。如果 s.length
為零,則不寫入字元。否則,首先寫入字元 s[0]
,然後寫入字元 s[1]
,依此類別推;最後一個寫入字元是 s[s.length-1]
。使用與 writeChar
方法完全相同的方法為每個字元實際寫入兩個位元組,先使用高位位元組。
s
- 要寫入的字元串值。
IOException
- 如果發生 I/O 錯誤。void writeUTF(String s) throws IOException
s
中每個字元的 UTF-8 修改版表示形式。如果 s
為 null
,則拋出 NullPointerException
。根據字元的值,將字元串 s
中每個字元轉換成一個位元組、兩個位元組或三個位元組的位元組組。
如果字元 c
在 \u0001
到 \u007f
的範圍內,則用一個位元組表示:
(byte)c
如果字元 c
是 \u0000
或者它在 \u0080
到 \u07ff
的範圍內,則用兩個位元組表示,寫入順序如下:
(byte)(0xc0 | (0x1f & (c >> 6)))
(byte)(0x80 | (0x3f & c))
如果字元 c
在 \u0800
到 \uffff
的範圍內,則用三個位元組表示,寫入順序如下:
(byte)(0xe0 | (0x0f & (c >> 12)))
(byte)(0x80 | (0x3f & (c >> 6)))
(byte)(0x80 | (0x3f & c))
首先,要計算表示 s
中所有字元所需的位元組總數。如果總數大於 65535
,則拋出 UTFDataFormatException
。否則,使用與 writeShort
方法完全相同的方式將此長度寫入輸出串流,然後寫入字元串 s
中所有字元的 1 位元組、2 位元組或 3 位元組表示形式。
此方法寫入的位元組可由 DataInput
介面的 readUTF
方法讀取,然後該方法將返回一個等於 s
的 String
值。
s
- 要寫入的字元串值。
IOException
- 如果發生 I/O 錯誤。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。