android中將數據寫入手機內存和sdcard中的文件

在android中一般有兩種方式:

第一種是寫入手機內存的文件,這種方式,文件的存取路徑都是在應用包下的 files 文件夾下,其路徑是固定的,並不受程序員控制的,

 

FileOutputStream fos = context.openFileOutput(fileName, mod);

FileInputStream fis = context.openFileInput(fileName);  

這裏的fileName只能是文件名,不能帶路徑。mod的值有以下幾種:

 

Context.MODE_PRIVATE:爲默認操作模式,代表該文件是私有數據,只能被應用本身訪問,在該模式下,寫入的內容會覆蓋原文件的內容,如果想把新寫入的內容追加到原文件中。可以使用Context.MODE_APPEND  
Context.MODE_APPEND:模式會檢查文件是否存在,存在就往文件追加內容,否則就創建新文件。  
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用來控制其他應用是否有權限讀寫該文件。  
MODE_WORLD_READABLE:表示當前文件可以被其他應用讀取;MODE_WORLD_WRITEABLE:表示當前文件可以被其他應用寫入。  
如果希望文件被其他應用讀和寫,可以傳入:  
openFileOutput("output.txt", Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);  

第二種是對sdcard的操作

對sdcard的操作,主要的注意點是在AndroidManifest.xml中註冊權限

 

<!-- 在sdcard中創建與刪除文件的權限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 向sdcard中寫入數據的權限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

然後Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);通過這個方法到判斷sdcard是否能用,

 

File file = Environment.getExternalStorageDirectory();
FileOutputStream fos = new FileOutputStream(file);
fos.write(content.getBytes());
fos.close();

這樣即可以對sdcard進行操作

隨便這裏記錄下,在java中,得到隱藏的文件擴展名的方法是跟得到文件名的方法是一樣的,也就是說跟後綴隱不隱藏沒關係,都可以得到。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章