内部存储Cache:
缓存包括两种方法,一种利用openFileOutput和openFileInput存储在file文件中,一种是写到cache文件中。
openFileOutput和openFileInput:
1.概述:
context提供了两个方法来打开应用程序的数据文件夹里的文件IO流:
openFileInput(String name):读出
openFileOutput(String name,int mode):写入
模式支持的值:
MODE_PRIVATE:该文件只能被当前程序读写
MODE_APPEND:应用程序可以向该文件追加内容。
MODE_WORLD_READABLE:该文件内容可以被其他程序读取。
MODE_WORLD_WRITEABLE:该文件内容可由其他程序读、写。
默认存储位置:/data/data/< package name>/files目录下
2.方法:
file.getAbsolutePath();//获得文件的绝对路径。
写入到缓存中的file文件夹中:
从缓存中的file文件夹中读取数据:
写到cache中:
将数据写到缓存中的cache文件中:
读写SD卡文件:
1.概述:
由于手机的存储空间有限,为了更好的存取应用程序的大文件,应用程序需要读写SD卡上的文件,SD卡大大扩充了手机的存储能力。
注意:SD卡和扩展卡的区别:
扩展卡是指外插的TF卡,而这里所说的SD卡是指手机除了系统内存外的扩展的内部的存储空间。
2.权限:
注:用模拟器可能不需要权限就能写入,但使用手机必须使用权限。
3.路径:
利用Environment.静态方法。
查询API可找到其各种静态方法代表的路径。
建议使用Environment来创建文件,不要直接写路径。
4.步骤:
1>判断手机上是否插入了SD卡,并且应用程序具有读写SD卡的权限,如果都有,就返回true
Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
2>获取外部存储器,即SD卡的目录:
Environment.getExternalStorageDirectory()
3.范例:
将数据写到SD卡中: