[Android 學習筆記] 檔案串流(File Stream)存取教學
Java 檔案處理是一種串流(Stream),串流觀念最早見於 Unix 作業系統,如同水管,透過開關串流(例如:檔案、記憶體和緩衝區)可以依輸入內容讀寫檔案。在 Android 程式開發中,我們是使用 java.io 套件的類別來寫入和讀取檔案,我們可以使用 Context 類別的 openFileInput() 和 openFileOutput() 方法來讀取和寫入檔案。一、寫入檔案
我們使用 java.io 套件的 FileOutputStream 類別將資料寫入檔案,例如:
//使用Context類別的openFileOutput()方法開啟FileOutputStream檔案輸出串流,第一個參數是檔案名稱,第二個參數是檔案操作模式常數,預設為0(MODE_PRIVATE)
FileOutputStream out = openFileOutput("name", MODE_PRIVATE)
//將位元組資料使用write()方法將getBytes()方法轉換成位元組的陣列寫入檔案
out.write(str.getBytes());
//使用close()方法關閉串流
out.close();
二、讀取檔案我們可以使用FileInputStream物件來讀取檔案,例如:
//使用繼承自Context類別的openFileInput()方法開啟FileInputStream()檔案輸入串流,參數是檔案名稱
FileInputStream in = openFileInput(name);
//使用建立的byte[]陣列來讀取檔案內容,例如:
byte[] data = new byte[128];
in.read(data);
//使用字串String建構子將read()讀取緩衝區,位元陣列建立成字串
String str = new String(data);
in.close();
最後附上一個運用 File Stream 檔案存取範例程式檔,歡迎有興趣朋友可以參考。Github 範例下載。