2022年5月18日 星期三

InputStream及 OutputStream

一、InputStream

InputStream(輸入流)用來讀取資料,此為一個抽像類。其子類為FileInputStream,可用於讀取檔案資料。大致的方法如下:
InputStream input = new FileInputStream("資料位置");

再透過input.read()方法讀取,若讀取完資料,會傳回-1 。如下:
try {
        input = new FileInputStream("要讀取的資料");
        int result;
        while ((result = input.read()) != -1) { 
            在此處理讀取資料
        }
    } finally {
        if (input != null) { input.close(); } //輸出關閉
    }

參考網頁:https://www.liaoxuefeng.com/wiki/1252599548343744/1298069163343905

二、OutputStream

OutputStream(輸出流)用來輸出資料 ,此為一個抽象類,其子類為FileOutInputStream,可用於輸出檔案資料。如果沒有該筆資料,它會自己創建一個檔案,寫法的方法透過.write()大概作法如下:

OutputStream outInput = new FileOutputStream("資料位置");  //設定寫入資料的檔案名字

outInput.write("要寫入的資料"); //寫入資料

outInput.flush(); //刷新輸出

同樣也需透try catch finally來避免來處理例外的情況。

另一個子類為ByteArrayOutputStream 是位元組陣列輸出流。它會將讀入的資料寫入byte的陣列中,當資料讀取時會自動加入陣列中,可透過toByteArray() 和 toString() 兩個方法將資料取出來。

沒有留言:

張貼留言