Android中檔案讀寫(輸入流和輸出流)操作總結(附原始碼)
阿新 • • 發佈:2019-02-06
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();
}