传智播客Android视频教程——第五天

传智播客Android视频教程——第五天

2012-03-31

 

13.文件的操作模式

Android提供的四种文件操作模式:

如果访问的文件不存在,会创建一个新的。

Context.MODE_PRIVATE:私有操作模式,仅能被本应有访问,往文件中写入内容,如果文件已经存在,以覆盖方式写入。

应用的报名不要相同,会认为是同一个应用。

Context.MODE_APPEND:私有操作模式,仅能被本应有访问,往文件中写入内容,如果文件已经存在,以追加的方式写入,不会覆盖原文件。

Context.MODE_WORLD_READABLE:当前文件可以被其他应用读取数据。

Context.MODE_WORLD_WRITEABLE:当前文件可以被其他应用写入数据。

 

openFileOutput(“ok.txt”, Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE):对外被共享的文件能被同时读取和写入。

FileOutputStream outStream = new FileOutputStream(file, true);

第二个参数表示以追加形式写入数据。

 

权限控制基于linux系统权限。

 

Activity提供了getCacheDir()和getFileDir()方法:

getCacheDir()方法用于获取/data/data/<package name>/cache目录,缓存数据。

getFileDir()方法用于获取/data/data/<package name>/files目录。

 

Eclipse快捷键:ctrl+shift+y,大写变小写。ctrl+shift+x,小写变大写。

 

14.把文件存放在SDCard

小文件适合保存在手机自带存储中,大的文件最好保存在SDCard中。

在程序中访问sdcard,需要申请访问sdcard的权限:

在AndroidManifest.xml中加入访问sdcard的权限:

在sdcard中创建与删除文件权限:

<uses-permission android:name=“android.permission.MOUNT_UNMOUNT_FILESYSTEMS” />

往sdcard写入数据权限:

<uses-permission android:name=“android.permission.WRITE_EXTERNAL_STORAGE” />

 

在往sd卡写数据的时候,需要判断sd卡是否存在,sd卡写保护是否打开了。

Environment.MEDIA_MOUNTED

状态是sd卡存在,并且没有打开写保护。

 

如果文件是保存在sdcard上,文件是可以被任何应用读和写的。

 

往sd卡写数据时,不建议直接写sd卡的绝对路径,可能出现版本的兼容问题。最好使用Environment.gerExternalStorageDirectory()获取sd卡路径,不管什么版本,都可以正确得到sd卡的路径。

posted @ 2012-03-31 19:34  凌紫冥  阅读(356)  评论(0)    收藏  举报