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 blocke.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 blocke.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 数据持久化——I/O操作相关推荐
- android 清空数组缓存,Android数据持久化之读写SD卡中内容的方法详解
本文实例讲述了Android数据持久化之读写SD卡中内容的方法.分享给大家供大家参考,具体如下: 前面文章里讲的那三个方法:openFileOutput.openFileInput虽然都能通过流对象O ...
- Android数据持久化
Android数据持久化(存储) 1.SharedPreferences SharedPreferences是Android提供的数据持久化的一种手段,适合单进程.小批量的数据存储与访问.Shared ...
- Android数据持久化技术
Android 数据持久化技术 数据持久化 文件存储 将数据存储到文件中 从文件中读取数据 SharedPreferences存储 使用SharedPreferences存储数据 从SharedPre ...
- Android数据持久化存储
Android数据持久化存储共有四种方式,分别是文件存储.SharedPreferences.Sqlite数据库和ContentProvider.在本篇幅中只介绍前面三种存储方式,因为ContentP ...
- Android数据持久化:SharePreference
SharePreference:作为Android数据持久化的一种,具有一定的便捷性,适合存储一些体积小的数据. 存储数据方式:键值对的方式,类似于Map: 利用SharePreference.Edi ...
- 马小看前端( vuex数据持久化简单的操作 )
马小看前端( vuex数据持久化简单的操作 ) 1.首先在小黑框中下载插件! npm install vuex-persistedstate 2.在store.js中引入下面的代码,即可完成数据持久化 ...
- android 数据持久化——读写SD卡中的内容
在前面讲的那三个方法:openFileOutput .openFileInput 虽然都能通过流对象OutputStream和InputStream可以处理任意文件中的数据,但与SharedPrefe ...
- Android数据持久化:文件存储
数据持久化: 数据可分为瞬时数据和关键数据.保存在内存之中的数据是瞬时数据,而对于一些关键性数据,后期需要持续使用的,应当保存在存储设备中: 持久化保存方式: 文件存储.SharePreference ...
- Android—数据持久化、SP源码
3种数据持久化: File:openFileInput(String fileName).openFileOutput(String fileName, int mode) 不对存储的内容进行任何的格 ...
最新文章
- loadruner中加中Java_Script
- Python 3 教程二:文件,目录和路径
- 基于react native的登录界面demo 超简易教程 redux版
- SI 和 DI 寄存器的区别
- Polemo Chat客户端行为
- 从基于直方图的Graph-Cut到Grab-Cut
- web高德maker动画_Web Maker —我如何构建一个快速的离线前端游乐场
- android获取文件夹里最新的文件夹,Android 获取已存在的文件所在目录下的所有文件为null。...
- S1304第一本书内测测试分析
- onclick控制元素显示与隐藏时,点击第一次无反应的原因
- python程序员到哪里_Python程序员都知道的入门知识の五
- 字节跳动的 8 轮视频面试流程
- matlab中的textscan函数
- 人工智能全局概览:通用智能的当前困境和未来可能
- CTF密码学总结(一)
- 关于UpdateData函数
- Windows上获取cpu info, cpuid, cpu id 方法整理
- java学到能看懂代码_一篇文章能够看懂基础源代码之JAVA篇
- 李文卓:揭秘美丽说数据体系建设三部曲
- 何为非侵入式负荷监测-目标检测
热门文章
- IOS拍照控件同时显示拍照与录像
- OpenCV-扩充图像边界cv::copyMakeBorder
- matlab训练cifar10,认识CIFAR-10数据集
- .rpt文件内容读取java_linux第二天|shell文件/文件夹操作
- android uri跳转导航,android:scheme 通过uri跳转到APP应用指定Activity
- mysql binary-mode=1_Mysql 性能调优 二 1
- ant里面table嵌套子表格_ElementUI el-table行内编辑验证,动态增减行
- mqtt实例 php_php搭建MQtt协议服务
- android日历信息获取错误,android – 从日历中获取事件
- SQLite Tutorial 2 install free sqlite gui manager in firefox