本文实例讲述了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
# 数据持久化
# I/O操作
# Android数据持久化之ContentProvider机制详解
# Android数据持久化之读写SD卡中内容的方法详解
# Android数据持久化之File机制分析
# Android数据持久化之Preferences机制详解
# 详解Android开发数据持久化之文件存储(附源码)
# Android仿QQ好友列表分组实现增删改及持久化
# Android持久化技术之SharedPreferences存储实例详解
# Android持久化技术之文件的读取与写入实例详解
# Android SQLite数据库增删改查操作的使用详解
# Android开发之SQLite的使用方法
# Android使用SQLite数据库的简单实例
# Android数据持久化之SQLite数据库用法分析
# 第一个
# 操作技巧
# 这两个
# 第二个
# 扩展名
# 进阶
# 相关内容
# 感兴趣
# 给大家
# 可以看出
# 自带
# 能将
# 更多关于
# 不包括
# 所述
# 该文件
# 程序设计
# 操作方法
# 编程开发
# 大文件
相关文章:
平台云上自助建站如何快速打造专业网站?
建站之星如何一键生成手机站?
网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
建站中国官网:模板定制+SEO优化+建站流程一站式指南
南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?
C#怎么使用委托和事件 C# delegate与event编程方法
,巨量百应是干嘛的?
手机网站制作与建设方案,手机网站如何建设?
如何选择服务器才能高效搭建专属网站?
c# 在高并发下使用反射发射(Reflection.Emit)的性能
如何用VPS主机快速搭建个人网站?
定制建站如何定义?其核心优势是什么?
广平建站公司哪家专业可靠?如何选择?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
免费视频制作网站,更新又快又好的免费电影网站?
Android自定义控件实现温度旋转按钮效果
网站制作说明怎么写,简述网页设计的流程并说明原因?
,石家庄四十八中学官网?
建站主机SSH密钥生成步骤及常见问题解答?
javascript基本数据类型及类型检测常用方法小结
清除minerd进程的简单方法
黑客如何利用漏洞与弱口令入侵网站服务器?
免费制作小说封面的网站有哪些,怎么接网站批量的封面单?
如何选择最佳自助建站系统?快速指南解析优劣
如何在万网开始建站?分步指南解析
建站VPS配置与SEO优化指南:关键词排名提升策略
,在苏州找工作,上哪个网站比较好?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
沈阳制作网站公司排名,沈阳装饰协会官方网站?
如何在IIS管理器中快速创建并配置网站?
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
MySQL查询结果复制到新表的方法(更新、插入)
建站主机服务器选型指南与性能优化方案解析
如何在腾讯云服务器快速搭建个人网站?
如何在VPS电脑上快速搭建网站?
建站主机与虚拟主机有何区别?如何选择最优方案?
php条件判断怎么写_ifelse和switchcase的使用区别【对比】
网站制作免费,什么网站能看正片电影?
网站制作公司排行榜,四大门户网站排名?
北京网站制作网页,网站升级改版需要多久?
黑客入侵网站服务器的常见手法有哪些?
网页设计与网站制作内容,怎样注册网站?
建站之星导航菜单设置与功能模块配置全攻略
百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?
在线制作视频网站免费,都有哪些好的动漫网站?
建站之星伪静态规则如何正确配置?
网站制作大概多少钱一个,做一个平台网站大概多少钱?
山东网站制作公司有哪些,山东大源集团官网?
如何快速搭建高效服务器建站系统?
*请认真填写需求信息,我们会在24小时内与您取得联系。