来自第一行代码的实践
持久化存储:
文件存储
SharedPreference存储
数据库存储
SD卡存储
文件存储将存储的内容不进行任何格式化的处理,所有数据原封不动的保存到文件中,适合存储简单的文本数据或二进制数据。
1、保存数据
数据流向:字符串–BufferWriter–FileOutputStream–文件
public void save(String inputText) { FileOutputStream out = null; BufferedWriter writer = null; try { out = openFileOutput("data", Context.MODE_PRIVATE); //返回FileOutputStream对象 //将数据存储到指定文件中,参数(文件名,文件操作模式) //MODE_PRIVATE默认操作模式,当指定同样文件名的时候,所写入的内容将会覆盖原文件中的内容, //MODE_APPEND如果该文件已存在往文件中追加内容,不存在就创建新文件 writer = new BufferedWriter(new OutputStreamWriter(out)); //OutputStreamWriter()构建一个BufferedWritter对象 writer.write(inputText); } catch (IOException e) { e.printStackTrace(); } finally { try { if (writer != null) { writer.close(); } } catch (IOException e) { e.printStackTrace(); } } }
得到的结论:
123456789
2、读出数据
数据流向:文件–FileInputStream–BufferReader–StringBuilder
public 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) { content.append(line); } } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e) { e.printStackTrace(); } } } return content.toString(); }