1. 程式人生 > >Android文件訪問

Android文件訪問

dwr con sd卡 filename 修改 andro 寫入 rac contex

Android中對於文件操作除了java的基礎庫匯總的IO、File等之外,還提供了幾種API

1、Context類提供的openFileOutput()和openFileInput()兩個方法分別獲取IO流,然後就可以進行相關讀寫操作了。
  寫操作中有個文件的操作模式的參數,也是Context提供的幾個常量:MODE_PRIVATE,覆蓋文件,默認模式;
  MODE_APPEND,追加內容,不存在就新建。
  //讀取文件
public String load(Context context,String fileName) { FileInputStream is=null
; BufferedReader reader=null; StringBuilder result=new StringBuilder(); try { is=context.openFileInput(fileName); reader = new BufferedReader(new InputStreamReader(is)); String l=""; while((l=reader.readLine())!=null) { result.append(l); } }
catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if(reader!=null) { try { reader.close(); } catch (IOException e) { e.printStackTrace(); } } }
return result.toString(); }

//寫入文件   
public boolean write(Context context,String fileName,String content) { FileOutputStream os=null; BufferedWriter writer=null; try { os=context.openFileOutput(fileName,context.MODE_APPEND); writer=new BufferedWriter(new OutputStreamWriter(os)); writer.write(content); return true; } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if(writer!=null) { try { writer.close(); } catch (IOException e) { e.printStackTrace(); } } } return false; }

2、下面使用的四個Environment的方法,獲取當前運行環境的四個不同目錄,返回一個File對象,我們可以依據這個File

對象進行新建、寫入、讀取等操作。對於不同廠商,對於sd卡手機內存的訪問api可能會有修改,這些需要實際情況,實際分析。

        Log.i("info","getDataDirectory()"+Environment.getDataDirectory().getAbsolutePath());
        Log.i("info","getRootDirectory()"+Environment.getRootDirectory().getAbsolutePath());
        Log.i("info","getExternalStorageDirectory()"+Environment.getExternalStorageDirectory().getAbsolutePath());
        Log.i("info","getExternalStoragePublicDirectory()"+Environment.getExternalStoragePublicDirectory("basePath").getAbsolutePath());

Android文件訪問