|
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。