在android项目中,很多的功能在系统都给出我们的集成,就像我们在javase中经常实用到的io一样。android也十分贴心的为我们进行了封装。让我们是否方便的实用。首相需要强调的是,android是通过page来区分软件的。所以在android里面page是十分重要的。
下面我们来实现如何在android中实现对文件的读写。在手机系统中,我们对文件读写有两个位置。一个是手机自带的存储还有就是sd卡。就像我们电脑硬盘和外接存储设备一样。android 为我们提供了简单的打开输入和输出流的操作。openFileOutput和openFileInput方法。下面的代码,有一部位是写入一部分是读出。不可以直接运行的代码
通过上面的代码,我们创建的文件会被保存到手机的自带存储中路径为/data/data/<包>/files下面
Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中。可以使用
Context.MODE_APPEND
Context.MODE_APPEND
:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
Context.MODE_WORLD_READABLE和
Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件。
MODE_WORLD_READABLE
:表示当前文件可以被其他应用读取;
MODE_WORLD_WRITEABLE
:表示当前文件可以被其他应用写入。
如果希望文件被其他应用读和写,可以传入:
openFileOutput("itcast.txt",
Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE
);
android有一套自己的安全模型,当应用程序
(.apk)在安装时系统就会分配给他一个
userid,当该应用要去访问其他资源比如文件的时候,就需要
userid匹配。默认情况下,任何应用创建的文件,
sharedpreferences,数据库都应该是私有的(位于
/data/data/<package name>/files),其他程序无法访问。除非在创建时指定了
Context.MODE_WORLD_READABLE或者
Context.MODE_WORLD_WRITEABLE ,只有这样其他程序才能正确访问。