1. 程式人生 > >Android中檔案讀寫(輸入流和輸出流)操作總結(附原始碼)

Android中檔案讀寫(輸入流和輸出流)操作總結(附原始碼)

Android中檔案讀寫操作
1. Android中檔案讀寫的原理:
(1).所有檔案的儲存都是位元組的儲存。
(2).在磁碟上保留的並不是檔案的字元而是先把字元編碼成位元組,再儲存這些位元組到磁碟。
(3).在讀取檔案(特別是文字檔案)時,也是一個位元組一個位元組的讀取以形成位元組序列。

2. 位元組流和字元流的區別:
(1).位元組流提供了處理任何型別的IO操作的功能,但它不能直接處理Unicode字元,字元流就可以。
(2).位元組流轉換成字元流可以用InputStreamReader,OutputStreamWriter。
一般我們在使用的時候通常用位元組流。
3. 檔案讀寫的步驟:


(1).首先建立通道。
(2).然後建立資料儲存空間。
(3).然後開始讀寫資料。
(4).關閉流。
4. 輸入流和輸出流:
(1).輸入流:程式從輸入流讀取資料來源。資料來源包括外界(鍵盤、檔案、網路…),即是將資料來源讀入到程式的通訊通道。
這裡寫圖片描述
(2).輸出流:程式向輸出流寫入資料。將程式中的資料輸出到外界(顯示器、印表機、檔案、網路…)的通訊通道。
這裡寫圖片描述
程式碼如下:

public static byte[] readInputStream
(InputStream inputStream) { // 1.建立通道物件 ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); // 2.定義儲存空間 byte[] buffer = new byte[1024]; // 3.開始讀檔案 int len = -1; try { if (inputStream != null) { while ((len = inputStream.read(buffer)) != -1
) { // 將Buffer中的資料寫到outputStream物件中 outputStream.write(buffer, 0, len); } } // 4.關閉流 outputStream.close(); inputStream.close(); } catch (IOException e) { e.printStackTrace(); } return outputStream.toByteArray(); }