您的位置:首页 > 移动开发 > Android开发

Android学习(14) -- 在内部存储空间中读写文件

2016-04-10 21:39 477 查看

在内部存储空间中读写文件

小案例:用户输入账号密码,勾选“记住账号密码”,点击登录按钮,登录的同时持久化保存账号和密码

1. 定义布局

2. 完成按钮的点击事件

弹土司提示用户登录成功

Toast.makeText(this, "登录成功", Toast.LENGTH_SHORT).show();


3. 拿到用户输入的数据

判断用户是否勾选保存账号密码

CheckBox cb = (CheckBox) findViewById(R.id.cb);
if(cb.isChecked()){

}


4. 开启io流把文件写入内部存储

直接开启文件输出流写数据

//持久化保存数据
File file = new File("data/data/com.exp.rwinrom/info.txt");
FileOutputStream fos = new FileOutputStream(file);
fos.write((name + "##" + pass).getBytes());
fos.close();


读取数据前先检测文件是否存在

if(file.exists())


读取保存的数据,也是直接开文件输入流读取

File file = new File("data/data/com.exp.rwinrom/info.txt");
FileInputStream fis = new FileInputStream(file);
//把字节流转换成字符流
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
String text = br.readLine();
String[] s = text.split("##");


读取到数据之后,回显至输入框

et_name.setText(s[0]);
et_pass.setText(s[1]);


应用只能在自己的包名目录下创建文件,不能到别人家去创建

直接复制项目

需要改动的地方:

项目名字

应用包名

R文件重新导包

使用路径api读写文件

getFilesDir()得到的file对象的路径是data/data/com.exp.rwinrom2/files

存放在这个路径下的文件,只要你不删,它就一直在

getCacheDir()得到的file对象的路径是data/data/com.exp.rwinrom2/cache

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

系统管理应用界面的清除缓存,会清除cache文件夹下的东西,清除数据,会清除整个包名目录下的东西
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: