全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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  # 数据持久化  # I/O操作  # Android数据持久化之ContentProvider机制详解  # Android数据持久化之读写SD卡中内容的方法详解  # Android数据持久化之File机制分析  # Android数据持久化之Preferences机制详解  # 详解Android开发数据持久化之文件存储(附源码)  # Android仿QQ好友列表分组实现增删改及持久化  # Android持久化技术之SharedPreferences存储实例详解  # Android持久化技术之文件的读取与写入实例详解  # Android SQLite数据库增删改查操作的使用详解  # Android开发之SQLite的使用方法  # Android使用SQLite数据库的简单实例  # Android数据持久化之SQLite数据库用法分析  # 第一个  # 操作技巧  # 这两个  # 第二个  # 扩展名  # 进阶  # 相关内容  # 感兴趣  # 给大家  # 可以看出  # 自带  # 能将  # 更多关于  # 不包括  # 所述  # 该文件  # 程序设计  # 操作方法  # 编程开发  # 大文件 


相关文章: 建站之星代理如何优化在线客服效率?  自助网站制作软件,个人如何自助建网站?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  北京专业网站制作设计师招聘,北京白云观官方网站?  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  建站中国官网:模板定制+SEO优化+建站流程一站式指南  企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?  深入理解Android中的xmlns:tools属性  武清网站制作公司,天津武清个人营业执照注销查询系统网站?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  招商网站制作流程,网站招商广告语?  如何快速上传自定义模板至建站之星?  PHP 500报错的快速解决方法    建站主机无法访问?如何排查域名与服务器问题  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  建站主机服务器选型指南与性能优化方案解析  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  建站主机系统SEO优化与智能配置核心关键词操作指南  网站制作公司,橙子建站是合法的吗?  如何注册花生壳免费域名并搭建个人网站?  建站三合一如何选?哪家性价比更高?  番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?  C#如何序列化对象为XML XmlSerializer用法  西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?  如何登录建站主机?访问步骤全解析  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  在线制作视频的网站有哪些,电脑如何制作视频短片?  实惠建站价格推荐:2025年高性价比自助建站套餐解析  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  如何通过西部建站助手安装IIS服务器?  小建面朝正北,A点实际方位是否存在偏差?  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  制作网页的网站有哪些,电脑上怎么做网页?  h5网站制作工具有哪些,h5页面制作工具有哪些?  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  Swift中swift中的switch 语句  如何在IIS7中新建站点?详细步骤解析  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  Java解压缩zip - 解压缩多个文件或文件夹实例  如何通过NAT技术实现内网高效建站?  网站制作软件有哪些,制图软件有哪些?  如何选择域名并搭建高效网站?  网站制作模板下载什么软件,ppt模板免费下载网站?  建站主机是否等同于虚拟主机?  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。