Android数据持久化之I/O操作详解
本文实例讲述了Android数据持久化之I/O操作。分享给大家供大家参考,具体如下:
前面文章里我们简单的介绍了File的操作,这一节来说说使用android平台自带对象实现文件的基本操作
主要的两个类:openFileOutput(写)和openFileInput(读)
向文件中写如数据代码如下:
//向文件写入内容 try { OutputStream os = openFileOutput("file-io.txt", Context.MODE_PRIVATE); String str = "向文件中写入数据"; os.write(str.getBytes("utf-8")); os.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }
读取文中的代码如下:
//读取文件中的内容 try { InputStream is = openFileInput("file-io.txt"); byte[] buffer = new byte[100]; int byteLength = is.read(buffer); String str2 = new String(buffer, 0, byteLength, "utf-8"); text.setText(str2.toString()); is.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }
从上面的代码中可以看出:openFileOutput / openFileInput 的用法与之前的SharedPreferences 的用法有很大的相似性,下面简单说一下两者的异同:
SharedPreferences对象的创建:
SharedPreferences sp = getSharedPreferences("file",Contex.MODE_PRIVATE);
getSharedPreferences
方法的第一个参数是指定要保存在手机内存中的文件名(不包括扩展名,扩展名为xml),第二个参数是表示SharedPreferences对象在创建XML文件时设置的文件属性;
Context.MODE_PRIVATE = 0 (默认),代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容
Context.MODE_APPEND = 32768
Context.MODE_WORLD_READABLE = 1
Context.MODE_WORLD_WRITEABLE = 2
openFileOutput 方法是如何返回一个OutputStream对象的:
OutputStream os = openFileOutput("file.xml",Contex.MODE_PRIVATE);
openFileOutput 的第一个参数指定的文件名带有扩展名,第二个参数与getSharedPreferences的是一样的;从这两个方法来看,第一个参数只制定了文件名,并未包含文件的路径,因此,这两个方法只能将文件保存在手机的内存中固定的路径,对于大文件可能内存不够:
SharedPreferences 将XML 文件保存在:/data/data/<包名>/shared_prefs
openFileOutput 将文件保存在:/data/data/<包名>/files
Activity还提供了getCacheDir()和getFilesDir()方法:
getCacheDir()方法用于获取:/data/data/<package name>/cache 目录
getFilesDir()方法用于获取:/data/data/<package name>/files 目录。
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android文件操作技巧汇总》、《Android数据库操作技巧总结》、《Android编程之activity操作技巧总结》、《Android编程开发之SD卡操作方法汇总》、《Android开发入门与进阶教程》、《Android资源操作技巧汇总》、《Android视图View技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
- Android数据持久化之ContentProvider机制详解
- Android数据持久化之读写SD卡中内容的方法详解
- Android数据持久化之File机制分析
- Android数据持久化之Preferences机制详解
- 详解Android开发数据持久化之文件存储(附源码)
- Android仿QQ好友列表分组实现增删改及持久化
- Android持久化技术之SharedPreferences存储实例详解
- Android持久化技术之文件的读取与写入实例详解
- Android SQLite数据库增删改查操作的使用详解
- Android开发之SQLite的使用方法
- Android使用SQLite数据库的简单实例
- Android数据持久化之SQLite数据库用法分析
相关文章
Android入门之使用RecyclerView完美实现瀑布流界面详解
网上充满着不完善的基于RecyclerView的瀑布流实现,要么根本是错的、要么就是只知其一不知其二。本文就来用RecyclerView完美实现瀑布流界面,希望大家有所帮助2023-02-02Android编程实现捕获程序异常退出时的错误log信息功能详解
这篇文章主要介绍了Android编程实现捕获程序异常退出时的错误log信息功能,结合实例形式分析了Android异常信息捕获与日志操作相关实现技巧,需要的朋友可以参考下2017-08-08Android NavigationView头部设置监听事件
这篇文章主要为大家详细介绍了Android NavigationView头部设置监听事件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-10-10Android使用DrawerLayout仿QQ6.6版侧滑效果
这篇文章主要为大家详细介绍了Android使用DrawerLayout仿QQ6.6版侧滑效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-12-12
最新评论