Android(OPhone) 学习笔记 - 文件

来源:互联网 发布:华尔街数据大盗 pdf 编辑:程序博客网 时间:2024/05/17 00:11
文件是数据保存的结果,我们不管学习什么平台的语言或者机制,程序或数据不能一直在内存中运行,最终一定要回到文件。在这个例子中,我们介绍文件数据的写入和读取,并希望进行一些应用。

在前面的文章中,我们介绍了通过SharedPreference来保存少量数据,我们通过文件的操作,可以把大量文件永久存入系统中。

一、界面设置
为了实现读写功能,我们在界面中放置一个输入框和一个文本显示框,还有读写的按钮。效果如图:


二、代码编写
写文件时,我们首先定义文件流变量,定义输出文件的文件名为settings.dat,打开模式为MODE_PRIVATE。MODE_PRIVATE为默认模式, MODE_APPEND为追加模式, MODE_WORLD_READABLE 为只读模式,MODE_WORLD_WRITEABLE 为只写模式。写入数据后,通过Toast这个小工具来提示结果。




读文件流程类似,注意此处读得的数据inputBuffer是byte格式的,如果内容确实是字符串,可以被显示,需要转换成String格式。有的数据为二进制格式,不能作为字符串来显示:



在按钮响应中将这两个读写函数调用:


另外,本代码需要添加如下库:
import android.widget.Toast;
import java.io.*;

三、运行结果
运行程序,输入字符串,并读出,结果显示如下:




四、其他
这个文件会保存在系统的 ~/data/data/<project_name>/file/文件目录下,可以在adb shell中通过cat查看字符内容。



这个例子可以用来访问任意名称的文件,并非附属于工程。如果在工程的res文件夹中放置固定文件名的文件,可以使用函数Resources.openRawResource(R.raw.mydatafile)  来对其进行访问。