前面介绍的Shared Preferences存储方式非常方便,但是其只适合存储比较简单的数据,如果需要存储更多的数据,可行选择的方式有好几种,这里先给读者介绍文件存储的方法。

和传统的Java中实现I/O的程序类似,在Android中,其提供了openFileInput 和 openFileOuput 方法读取设备上的文件,下面看个例子代码,具体如下所示:

 
  1. StringFILE_NAME="tempfile.tmp";// 确定要操作文件的文件名
  2. FileOutputStreamfos=openFileOutput (FILE_NAME,Context.MODE_PRIVATE);//初始化
  3. FileInputStreamfis=openFileInput (FILE_NAME);//创建写入流

代码解释:

上述代码中两个方法只支持读取该应用目录下的文件,读取非其自身目录下的文件将会抛出异常。需要提醒的是,如果调用FileOutputStream 时指定的文件不存在,Android 会自动创建它。另外,在默认情况下,写入的时候会覆盖原文件内容,如果想把新写入的内容附加到原文件内容后,则可以指定其模式为Context.MODE_APPEND。

注意默认情况下,使用openFileOutput方法创建的文件只能被其调用的应用使用,其他应用无法读取这个文件,如果需要在不同的应用中共享数据,可以使用Content Provider实现,关于Content Provider我们将在稍后的内容中介绍。

小知识资源文件放在哪里?

如果你的应用需要一些额外的资源文件,例如,一些用来测试你写的音乐播放器是否可以正常工作的MP3文件,可以将这些文件放在应用程序的/res/raw/下,如mydatafile.mp3。那么就可以在你的应用中使用getResources获取资源后,以openRawResource方法(不带后缀的资源文件名)打开这个文件,实现代码如下所示:

 
  1. ResourcesmyResources=getResources();
  2. InputStreammyFile=myResources. openRawResource(R.raw.myfilename);

除了前面介绍的读写文件外,Android还提供了诸如deleteFile、fileList 等方法来操作文件,不再赘述。

更多相关文章

  1. android studio + ndk + cmake + jna +sqlite c层报错SQLITE_CAN
  2. 安卓Android手机系统内文件夹目录解释
  3. android Dialog 全屏的方法
  4. 超简单的几行代码搞定Android底部导航栏功能
  5. 使用AChartEngine画柱状图
  6. 深入理解:Android(安卓)编译系统
  7. ffmpeg 编译android so库文件
  8. Android(安卓)多 Fragment 切换优化
  9. Android中禁用屏幕旋转

随机推荐

  1. Android Studio之软件安装教程
  2. Android(安卓)-BLE蓝牙小DEMO
  3. android之通过phoneStateListener监听电
  4. Android开发:ZXing条码扫描-竖屏解决方案
  5. Android 基础知识、Android 进阶知识、An
  6. 在android用Google Geocoding API服务解
  7. Ubuntu下安装Android(安卓)NDK
  8. Cocos2d-x3.1下 Android,APK自动升级
  9. Android应用程序的四个关键点
  10. Android—— 4.2 Vold挂载管理_mmcblk内