传智播客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卡的路径。
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卡的路径。