Android开源手机操作系统可以让开发人员在模拟器中进行相应的操作以使系统满足用户的各种需求。在这里我们可以通过对Android读写文件的相关操作来体验一下这款操作系统的编写方式。

Android根文件系统相关应用介绍
Android数据库操作技巧应用
Android生命周期重要概念详解
Android缺点总结概览
Android术语列表概览

众所周知Android有一套自己的安全模型, 具体可参见Android开发文档。当应用程序(.apk)在安装时就会分配一个userid,当该应用要去访问其他资源比如文件的时候,就需要userid匹配。默认情况下 ,任何应用创建的文件,数据库, sharedpreferences都应该是私有的(位于/data/data/your_project/files/),其余程序无法访问。除非在创建时指明是MODE_WORLD_READABLE 或者 MODE_WORLD_WRITEABLE,只要这样其余程序才能正确访问。

因为有这种Android读写文件的方法在安全上有所保障,进程打开文件时Android要求检查进程的user id。所以不能直接用java的api来打开,因为java的io函数没有提这个机制 。

无法用java的api直接打开程序私有的数据 ,默认路径为/data/data/your_project/files/

FileReader file = new FileReader("Android.txt");
这里特别强调私有数据!言外之意是如果某个文件或者数据不是程序私有的,既访问它时无须经过Android的权限检查,那么还是可以用java的io api来直接访问的。所谓的非私有数据是只放在sdcard上的文件或者数据,

可以用java的io api来直接打开sdcard上文件。

FileReader file = new FileReader("/sdcard/Android.txt"); 


如果要打开程序自己私有的文件和数据,那必须使用Activity提供openFileOutput和openFileInput方法。

创建程序私有的文件,由于权限方面的要求,必须使用activity提供的Android读写文件方法

FileOutputStream os = this.openFileOutput("Android.txt", MODE_PRIVATE);  OutputStreamWriter outWriter = new OutputStreamWriter (os);


读取程序私有的文件,由于权限方面的要求,必须使用activity提供的方法

FileInputStream os =this.openFileInput("Android.txt");  InputStreamReader inReader = new InputStreamReader(os); 

更多相关文章

  1. Android中的适配器(Adapter)
  2. Android音频开发(7):音乐可视化-FFT频谱图
  3. 【Android布局】在程序中设置android:gravity 和 android:layout
  4. 系出名门Android(1) - 在 Windows 下搭建 Android(安卓)开发环境
  5. Android音频开发(3):使用AudioRecord实现录音的暂停和恢复
  6. Android(安卓)Studio导入第三方类库的方法
  7. Android(安卓)logcat log size -- Android(安卓)logcat log 大小
  8. Android(安卓)Studio JNI开发
  9. android操作通讯录的联系人

随机推荐

  1. 侧滑菜单(二)
  2. Android(安卓)动态设置布局文件的excepti
  3. 实现RadioButton多行多列排列布局
  4. Libgdx Android项目——图像的绘制1
  5. apktool问题
  6. Android(安卓)Toast优化
  7. Android安卓开发 带删除按钮的EditText
  8. Webview and HTML5
  9. 动态生成控件
  10. MTK Android手机进程列表