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

更多相关文章

  1. android 的短信数据库的读取
  2. android应用安全——(数据抓包)跟踪监控android数据包
  3. android app请求获取root权限
  4. Android Launcher2源码分析主布局文件
  5. Android 3.0之后开机无法接收系统广播权限原因
  6. Android 权限控制代码分析
  7. 安装APK文件到Android模拟器
  8. 我的android 第14天 - 使用SQLiteDatabase操作SQLite数据库

随机推荐

  1. findViewById()返回布局XML中自定义组件
  2. 基于Android6.0的RIL底层模块分析
  3. 在Webview上加载脱机更新页面
  4. 如何使用java RESTful Web服务将通知推送
  5. Java项目无法通过BufferedWriter向服务器
  6. Android无法加载第三方so的解决方法
  7. Android 打包VersionCode自增、APK文件名
  8. Android6.0的phone应用源码分析(5)——RIL
  9. 由Android架构图所想到的Android开发学习
  10. 在两台设备上播放一首音乐