Android用路徑api在內部存儲讀寫文件

複製並修改原有項目

複製以前建立的項目CC+CV操做java

須要改動的地方:
* 項目名字
* 應用包名
* R文件從新導包api

接着修改件/AndroidManifest.xml中的包名:package="com.wuyudong.rwinrom"緩存

簡單起見直接改成package="com.wuyudong.rwinrom2"app

MainActivity.java在的R報錯,鼠標指向引入當前包便可搞定spa

接着修改strings.xml中的app_namecode

<string name="app_name">使用路徑api在內部存儲讀寫文件</string>xml

使用路徑api讀寫文件

getFilesDir()獲得的file對象的路徑是data/data/com.wuyudong.rwinrom2/files,存放在這個路徑下的文件,只要你不刪,它就一直在對象

    public void saveAccount(String name, String pass) {
        
        //獲得一個file對象,路徑是data/data/com.wuyudong.rwinrom2/files
        File file = new File(getFilesDir(), "info.txt"); // File file = new File("data/data/com.wuyudong.rwinrom/info.txt");
        try {
            FileOutputStream fos = new FileOutputStream(file);
            fos.write((name + "##" + pass).getBytes());
            fos.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

運行結果以下:blog

成功生成文件,下載後發現內容也正確內存

* getCacheDir()獲得的file對象的路徑是data/data/com.wuyudong.rwinrom2/cache

    public void saveAccount(String name, String pass) {

        // 獲得一個file對象,路徑是data/data/com.wuyudong.rwinrom2/files
        // File file = new File(getFilesDir(), "info.txt");
        // 獲得獲得一個file對象,路徑是data/data/com.wuyudong.rwinrom2/cache
        File file = new File(getCacheDir(), "info.txt");
        try {
            FileOutputStream fos = new FileOutputStream(file);
            fos.write((name + "##" + pass).getBytes());
            fos.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

注意:存放在這個路徑下的文件,當內存不足時,有可能被刪除

系統管理應用界面的清除緩存,會清除cache文件夾下的東西,清除數據,會清除整個包名目錄下的東西

點擊「清除緩存」,cache文件夾下的內容清除

若是點擊「清除數據」,則data/data/com.wuyudong.rwinrom2/下的文件夾會被清除

相關文章
相關標籤/搜索