Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android學習筆記---文件的操作模式,各種模式之間的關系,以及沿用linux系統的安全性

Android學習筆記---文件的操作模式,各種模式之間的關系,以及沿用linux系統的安全性

編輯:關於Android編程

.Context.MODE_WORLD_WRITEABLE模式創建的文件不可以被其他應用讀取,但是可以被其他   應用寫入: ----------------------- 測試代碼: public void testAccessReadWriteable() throws Throwable{ String TAG="testAccessAppend"; String path="/data/data/com.credream.file/files/writeable.txt"; File file=new File(path); ByteArrayOutputStream outputStream=new ByteArrayOutputStream(); FileInputStream inputStream=new FileInputStream(file); byte[] buffer=new byte[1024]; int len=0; while ((len=inputStream.read(buffer))!=-1){ outputStream.write(buffer,0,len); } byte[] data=outputStream.toByteArray(); outputStream.close(); inputStream.close(); String content=new String(data); Log.i(TAG, content); }     } -------------------------------------- 選中該方法,然後右鍵運行出現錯誤,提示沒有權限 --------------------------------------------------- 2.如果希望文件被其他應用讀和寫,可以傳入:    openFileOutput("itcast.txt", Context.MODE_WORLD_READABLE +   Context.MODE_WORLD_WRITEABLE);//這裡也可以直接寫3,因為前面的變量代表的整型值是1後面的是//2 -------------------------------- FileOutputStream outStream=context.openFileOutput     (filename,Context.MODE_WORLD_WRITEABLE+Context.MODE_WORLD_READABLE); -------------------------------------------- 測試代碼,用於存儲文件 com.credream.service FileService.java public void saveRW(String filename, String content) throws Exception { //IO j2ee FileOutputStream outStream=context.openFileOutput     (filename,Context.MODE_WORLD_WRITEABLE+Context.MODE_WORLD_READABLE); outStream.write(content.getBytes());//content.getBytes()這個方法     調用系統的 outStream.close(); } ------------------------------------------- 調用FileService.java--->saveRW方法,保存文件 /File/src/com/credream/file/readTest.java public void testRW()throws Exception{ FileService service=new FileService(this.getContext()); service.saveRW("rw.txt","rw"); } ---------------------------------------- 測試即可讀又可寫文件:rw.txt是不是可以讀取: /OherFile/src/com/credream/othertest/AccessOtherPrivateTest.java public void testAccessRW() throws Throwable{ String TAG="testAccessAppend"; String path="/data/data/com.credream.file/files/rw.txt"; File file=new File(path); ByteArrayOutputStream outputStream=new ByteArrayOutputStream(); FileInputStream inputStream=new FileInputStream(file); byte[] buffer=new byte[1024]; int len=0; while ((len=inputStream.read(buffer))!=-1){ outputStream.write(buffer,0,len); } byte[] data=outputStream.toByteArray(); outputStream.close(); inputStream.close(); String content=new String(data); Log.i(TAG, content); } ---------------------------------------------------------- 測試即可讀又可寫文件:rw.txt是不是可以寫入: public void testAccessRWriteable() throws Throwable{   String path="/data/data/com.credream.file/files/rw.txt";  File file=new File(path); FileOutputStream outputStream=new FileOutputStream(file); outputStream.write("lidewei".getBytes()); outputStream.close(); } 在方法上右鍵Android junit 就可以測試可寫入性了 數據寫入了,但是覆蓋了以前的數據,如果說希望在原來數據的基礎上進行追加,可以這樣 FileOutputStream outputStream=new FileOutputStream(file,true); true就是以追加模式進行寫入數據 www.2cto.com -------------------------------------------------- 1.其實,Android用的是linux系統,他的安全模式也沿用了linux系統的   所以在用文件浏覽器查看的時候,會有一列:Permissions權限(來表示每個文件的權限:   -rw-r-的格式) 2.   - rw- rw- ---   -代表文件,如果是d代表文件夾   rw-代表可以被這個應用讀寫,-代表不可以運行   rw-同一組的其他應用也可以對他讀寫-   ---其他應用不可以對他讀寫;代表不可以運行 -------------------------------------------------- Activity還提供了getCacheDir()和getFilesDir()方法: getCacheDir()方法用於獲取/data/data/<package name>/cache目錄 getFilesDir()方法用於獲取/data/data/<package name>/files目錄 -------------------------------------------------------------------
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved