来自第一行代码的实践
持久化存储:
- 文件存储
- 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();
}