Java DataInputStream類

2019-10-16 22:21:01

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

範例

以下是演示如何使用DataInputStreamDataOutputStream的範例。 此範例將字串寫入指定檔案中,然後再從檔案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