文件存储
2016-03-06 17:00
399 查看
一EditText输入内容,返回键退出再进入还呈现内容,用的文件存储
public class MainActivity extends ActionBarActivity { private EditText editText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editText = (EditText) findViewById(R.id.et_content); String inputText = load(); if (!TextUtils.isEmpty(inputText)) { editText.setText(inputText); editText.setSelection(inputText.length());//移到文末 Toast.makeText(this, "Restoring successed", Toast.LENGTH_SHORT).show(); } } @Override protected void onDestroy() { super.onDestroy(); String inputText = editText.getText().toString(); save(inputText); } private String load() { FileInputStream in = null; BufferedReader reader = null; StringBuilder content = new StringBuilder();//存放字符流的缓存对象 try { in = openFileInput("data");//打开读取文件的字节流 reader = new BufferedReader(new InputStreamReader(in));//变为字符流 String line = ""; while ((line = reader.readLine()) != null) {//循环读出字符流到line,再添加给缓冲对象 content.append(line); } } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e) { e.printStackTrace(); } } } return content.toString();//返回字符 } private void save(String inputText) { FileOutputStream out = null; BufferedWriter writer = null; try { out = openFileOutput("data", MODE_PRIVATE);//打开到达文件地址的字节输入流 writer = new BufferedWriter(new OutputStreamWriter(out));//到文件地址的字符输入流 writer.write(inputText);//把字符传个这个字符输入流就可以把字符送进文件中了 } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (writer != null) { try { writer.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
相关文章推荐
- Redis缓存Mysql技术实现
- C++设计模式之装饰模式
- 页面加载完后自动执行一个方法的js代码
- 输入 输出与数据类型
- 【模式匹配】Aho-Corasick自动机
- 电子之滤波电容选择
- 20145310 《Java程序设计》第1周学习总结
- xmpp smack 资源汇总
- 一波JavaScript日期判断脚本分享
- ButterKnife简单使用
- shell语法-符号
- jmeter throughput controller
- myeclipse中使用maven
- POJ百炼-2806-公共子序列
- UNIX SOCKET编程简介
- 作业1
- Principal Component Analysis: 用公式来描述我们想要PCA做什么
- Call and Apply in JavaScript
- Mybatis多参传递的四种解决方案
- 设计模式之动态代理模式