你的位置:首页 > 操作系统

[操作系统]Android用路径api在内部存储读写文件


复制并修改原有项目

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

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

接着修改件/AndroidManifest.

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

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

接着修改strings.

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

运行结果如下:

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

* 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/下的文件夹会被清除