Android用路径api在内部存储读写文件
复制并修改原有项目
复制之前创建的项目CC+CV操作
需要改动的地方:
* 项目名字
* 应用包名
* 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(); } }
运行结果如下:
成功生成文件,下载后发现内容也正确
* 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/下的文件夹会被清除
作者:wuyudong
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
如果觉得本文对您有帮助,可以对作者进行小额【赞助】