Android用路径api在内部存储读写文件

时间:2022-06-13 06:38:23

复制并修改原有项目

复制之前创建的项目CC+CV操作

Android用路径api在内部存储读写文件

需要改动的地方:
* 项目名字
* 应用包名
* R文件重新导包

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

简单起见直接改为package="com.wuyudong.rwinrom2"

MainActivity.java在的R报错,鼠标指向引入当前包即可搞定

接着修改strings.xml中的app_name

<string name="app_name">使用路径api在内部存储读写文件</string>

使用路径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();
}
}

运行结果如下:

Android用路径api在内部存储读写文件

成功生成文件,下载后发现内容也正确

* 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();
}
}

Android用路径api在内部存储读写文件

注意:存放在这个路径下的文件,当内存不足时,有可能被删除

系统管理应用界面的清除缓存,会清除cache文件夹下的东西,清除数据,会清除整个包名目录下的东西

Android用路径api在内部存储读写文件

点击“清除缓存”,cache文件夹下的内容清除

如果点击“清除数据”,则data/data/com.wuyudong.rwinrom2/下的文件夹会被清除

Android用路径api在内部存储读写文件