標籤:
使用Activity 類的openFileInput()和openFileOutput方法來操作裝置上的檔案,建立的檔案預設存在“/data/data/<pakage name>/files”目錄下,如在包名為【com.company.business】的程式中建立一個【data.txt】檔案,存放路徑將是【/data/data/com.company.business/file/date.txt】.在預設狀態下,檔案不能在不同的程式之間共用,這兩個方法只支援讀取該應用目錄下的檔案,若讀取非自身目錄下的檔案將會拋出FileNotFoundException異常。
關鍵的實現代碼如下,建議將這兩個方法放入兩個菜單選項中進行調用,以查看程式效果。
(1)讀取檔案代碼
public void readFile(String sFileName){ try { FileInputStream fis = openFileinput(sFileName); //將位元組流轉換成字元流 InputStreamReader inreader = new InputStreamReader(fis); //轉換成帶緩衝的bufferedReader BufferedReaader bufferedReader = new BufferedReader(inReader); String s; while ((s = bufferedReader.readLine())!=null){ Toast.makeText(this,s,Toast.LENGTH_LONG).show(); } fis.close();//關閉輸入資料流 }catch (Exception ex) ex.printStackTrace(); }}
(2)寫入檔案代碼
public void writeFile(String sFileName){ String s = "hello"; s = s+"/n"+"Nice to meet you"; try{ //定義一個檔案位元組輸出資料流,名字為sFileName FileOutputStream fos = openFileOutput(sFileName,0); //將檔案位元組輸入出流轉換成檔案字元輸出資料流 OutputStreamWriter outWriter = new OutputStreamWriter(fos); //再將檔案字元輸出資料流轉換成緩衝字元輸出資料流 BufferedWriter bufferedWriter = new BufferedWriter(outWriter); //使用write方法將資訊寫入檔案 bufferedWriter.writer(s); bufferedWriter.flush(); fos.close();}catch (Exception ex){ ex.printStackTrace();}}
Android ROM 檔案儲存體資料