*给大伙儿详细介绍应用文档怎样对数据信息开展储存,Activity给予了openFileOutput()方式 能够用以把数据信息輸出到文档中,实际的完成全过程与在J2SE自然环境中储存数据信息到文档中是一样的。
public class FileActivity extends Activity {
@Override public void onCreate(Bundle savedInstanceState) {
...
FileOutputStream outStream = this.openFileOutput("itcast.txt", Context.MODE_PRIVATE);
outStream.write("传智播客".getBytes());
outStream.close();
}
}
openFileOutput()方式 的**主要参数用以特定文件目录,不可以包括途径分节符“/” ,假如文档不会有,Android 会全自动建立它。建立的文档储存在/data/data//files文件目录,如: /data/data/cn.itcast.action/files/itcast.txt ,根据点一下Eclipse菜单栏“Window”-“Show View”-“Other”,在会话对话框中进行android文件夹名称,挑选下边的File Explorer主视图,随后在File Explorer主视图中进行/data/data//files文件目录就可以见到该文件。
openFileOutput()方式 的第二主要参数用以特定实际操作方式,有四种方式,各自为: Context.MODE_PRIVATE = 0
Context.MODE_APPEND = 32768
Context.MODE_WORLD_READABLE = 1
Context.MODE_WORLD_WRITEABLE = 2
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//files),别的程序流程无法打开。除非是在建立时特定了Context.MODE_WORLD_READABLE或是Context.MODE_WORLD_WRITEABLE ,仅有那样别的程序流程才可以恰当浏览。
假如要开启储放在/data/data//files文件目录运用独享的文档,能够应用Activity给予openFileInput()方式 。
FileInputStream inStream = this.getContext().openFileInput("itcast.txt");
Log.i("FileTest", readInStream(inStream));
readInStream()的方式 可以看本页下边备注名称。
或是立即应用文档的相对路径:
File file = new File("/data/data/cn.itcast.action/files/itcast.txt");
FileInputStream inStream = new FileInputStream(file);
Log.i("FileTest", readInStream(inStream));
留意:上边文件路径中的“cn.itcast.action”为运用所属包,如果你在撰写编码时要更换给你自身运用应用的包。
针对独享文档只有被建立该文件的运用浏览,假如期待文档能被别的运用读和写,能够在创建文件时,特定Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE管理权限。
Activity还给予了getCacheDir()和getFilesDir()方式 :
getCacheDir()方式 用以获得/data/data//cache文件目录
getFilesDir()方式 用以获得/data/data//files文件目录