DataInputStream
類用於在DataOutputStream
類的上下文中,可用於讀取原始資料。
以下是建立DataInputStream
的建構函式 -
InputStream in = new DataInputStream(InputStream in);
當建立了DataInputStream
物件,就可以使用一些它的輔助方法來讀取流或在流上執行其他操作。
編號 | 方法 | 描述 |
---|---|---|
1 | public final int read(byte[] r, int off, int len)throws IOException |
將輸入流中最多len 個位元組的資料讀入一個位元組陣列。 返回讀入緩衝區的總位元組數,否則返回-1 (如果它是檔案末尾)。 |
2 | public final int read(byte [] b)throws IOException |
從輸入流中讀取一些位元組並儲存到位元組陣列中。 返回讀入緩衝區的總位元組數,否則返回-1 (如果它是檔案末尾)。 |
3 | public final Boolean readBooolean()throws IOException ,public final byte readByte()throws IOException ,public final short readShort()throws IOException ,public final Int readInt()throws IOException |
這些方法將從包含InputStream 中讀取位元組。返回InputStream 後兩個位元組作為指定原始型別。 |
4 | public String readLine() throws IOException |
從輸入流中讀取下一行文字。 它讀取連續的位元組,將每個位元組分別轉換為字元,直到它遇到行終止符或檔案結尾; 然後讀取的字元作為String 返回。 |
以下是演示如何使用DataInputStream
和DataOutputStream
的範例。 此範例將字串寫入指定檔案中,然後再從檔案test.txt
中讀取內容,參考以下範例程式碼 -
import java.io.*;
public class DataInput_Stream {
public static void main(String args[]) throws IOException {
// 使用 UTF-8 編碼將字串寫入到檔案中
DataOutputStream dataOut = new DataOutputStream(new FileOutputStream("E:\\file.txt"));
dataOut.writeUTF("hello\n");
dataOut.writeUTF("yiibai\n");
// 從指定檔案中讀取內容
DataInputStream dataIn = new DataInputStream(new FileInputStream("E:\\file.txt"));
while (dataIn.available() > 0) {
String str = dataIn.readUTF();
System.out.print(str);
}
}
}
執行上面範例程式碼,得到以下結果 -
hello
yiibai