将数据存储到文件
Context 类中提供了一个openFileOutput()方法,可以用于将数据存储到指定的文件中。
这个方法接收两个参数,第一个参数是文件创建时使用的名称,注意这里指定的文件名不可以包含路径,因为所有文件都是默认储存到 /data/data/<包名>/files/ 目录下的。
第二个参数是文件的操作模式,主要有两种模式可选,MODE_PRIVATE(覆盖原文) 和 MODE_APPEND(追加内容) 。
openFileOutput() 方法返回的是一个 FileOutputStream 对象,得到这个对象之后就可以使用 Java 流的方式将数据写入到文件中了。
将一段文本内容保存到文件中:
public void save() { String data = "Data to save"; FileOutputStream out = null; BufferedWriter writer = null; try { //设置文件名称,以及存储方式 out = openFileOutput("data", Context.MODE_PRIVATE); //创建一个OutputStreamWriter对象,传入BufferedWriter的构造器中 writer = new BufferedWriter(new OutputStreamWriter(out)); //向文件中写入数据 writer.write(data); } catch (IOException e) { e.printStackTrace(); } finally { try { writer.close(); } catch (IOException e) { e.printStackTrace(); } } }
去复习一下Java的IO流,理解上面代码将变得轻而易举
运行程序,借助Android Studio 的 Android Device Monitor 查看该文件:
文件路径:/data/data/<包名>/files/
导出 data 文件,查看内容: