【Android基础知识】文件存储

来源:互联网 发布:莫知我哀特殊句式 编辑:程序博客网 时间:2024/06/03 07:59

这里介绍Android 中是如何通过文件来保存数据的。

1.写入数据

Context 类中提供了一个 openFileOutput ()方法,可以用于将数据存储到指定的文件中。这个方法接收两个参数,第一个参数是文件名,在文件创建的时候使用的就是这个名称,注意这里指定的文件名不可以包含路径,因为所有的文件都是默认存储到/data/data/<packagename>/files/ 目 录下 的 。第 二 个 参数 是 文件 的 操作 模 式 ,主 要 有两 种 模式 可 选 ,MODE_PRIVATE 和 MODE_APPEND。其中 MODE_PRIVATE 是默认的操作模式,表示当指定同样文件名的时候,所写入的内容将会覆盖原文件中的内容,而 MODE_APPEND 则表示如果该文件已存在就往文件里面追加内容,不存在就创建新文件。openFileOutput ()方法返回的是一个 FileOutputStream 对象,得到了这个对象之后就可以使用 Java 流的方式将数据写入到文件中了。
private void save(String inputText) {FileOutputStream out = null;BufferedWriter write = null;try {out = openFileOutput("data",Context.MODE_PRIVATE);write = new BufferedWriter(new OutputStreamWriter(out));write.write(inputText);} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}finally{if(write != null){try {write.close();} catch (IOException e) {e.printStackTrace();}}}}

2.读取数据

类似于将数据存储到文件中,Context 类中还提供了一个 openFileInput()方法,用于从文件中读取数据。这个方法要比 openFileOutput()简单一些,它只接收一个参数,即要读取的文件名,然后系统会自动到/data/data/<package name>/files/目录下去加载这个文件,并返回一个FileInputStream 对象,得到了这个对象之后再通过 Java 流的方式就可以将数据读取出来了。
private  String Load() {FileInputStream  in = null;BufferedReader br = null;StringBuilder builder = new StringBuilder();try {in = openFileInput("data");br = new BufferedReader(new InputStreamReader(in));String line = "";while((line = br.readLine()) != null){builder.append(line);}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{if(br != null){try {br.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}return builder.toString();}



0 0
原创粉丝点击