Android之使用檔案進行資料存放區

來源:互聯網
上載者:User

首先給大家介紹使用檔案如何對資料進行儲存,Activity提供了openFileOutput()方法可以用於把資料輸出到檔案中,具體的實現過程與在J2SE環境中儲存資料到檔案中是一樣的。 
            //寫入的檔案的路徑是data/data/cn.csdn/files/file.txt 
            FileOutputStream fos = openFileOutput("file.txt", Activity.MODE_PRIVATE); 
            String content="檔案儲存體的方式練習"; 
            //以UTF-8的編碼方式寫入 
            fos.write(content.getBytes("UTF-8")); 
            fos.close(); 
openFileOutput()方法的第一參數用於指定檔案名稱,不能包含路徑分隔字元“/” ,如果檔案不存在,Android 會自動建立它。建立的檔案儲存在/data/data/<package name>/files目錄,如: /data/data/cn.itcast.action/files/itcast.txt ,通過點擊Eclipse菜單“Window”-“Show View”-“Other”,在交談視窗中展開android檔案夾,選擇下面的File Explorer視圖,然後在File Explorer視圖中展開/data/data/<package name>/files目錄就可以看到該檔案。  
openFileOutput()方法的第二參數用於指定操作模式,有四種模式,分別為: Context.MODE_PRIVATE    =  0  
Context.MODE_APPEND    =  32768  
Context.MODE_WORLD_READABLE =  1  
Context.MODE_WORLD_WRITEABLE =  2  
Context.MODE_PRIVATE:為預設操作模式,代表該檔案是私人資料,只能被應用本身訪問,在該模式下,寫入的內容會覆蓋原檔案的內容,如果想把新寫入的內容追加到原檔案中。可以使用Context.MODE_APPEND  
Context.MODE_APPEND:模式會檢查檔案是否存在,存在就往檔案追加內容,否則就建立新檔案。  
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用來控制其他應用是否有許可權讀寫該檔案。  
MODE_WORLD_READABLE:表示當前檔案可以被其他應用讀取;MODE_WORLD_WRITEABLE:表示當前檔案可以被其他應用寫入。 
 
如果要開啟存放在/data/data/<package name>/files目錄應用私人的檔案,可以使用Activity提供openFileInput()方法。  
            //輸出資料流     讀 
            FileInputStream fis = openFileInput("file.txt"); 
            byte buffer[]=new byte[1024]; 
            int byteCount=0; 
            String str=""; 
            while((byteCount=fis.read(buffer))!=-1){ 
                // 後面三個參數      開始位置     讀取到哪     以什麼方式讀取 
                str+=new String(buffer,0,byteCount,"UTF-8"); 
            } 
            TextView tv=(TextView) findViewById(R.id.tv); 
            tv.setText(str); 
            fis.close(); 
 
Activity還提供了getCacheDir()和getFilesDir()方法:  
getCacheDir()方法用於擷取/data/data/<package name>/cache目錄  
getFilesDir()方法用於擷取/data/data/<package name>/files目錄 

 


作者 w_l_j

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.