上一节中简单的介绍了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数据持久化之I/O操作,结合实例形式较为详细的分析了Android I/O操作的相关原理与具体的持久化实现技巧,需要的朋友可以参考下
Python爬虫基础讲解(十):数据持久化——json
Android数据持久化,SharedPreferences 、内部存储、外部存储、数据库简单使用
Android 系统中主要提供了三种方式用于实现数据持久化功能,分别是: 1、文件存储 2、SharedPreference 存储 3、数据库存储。 今天我们学习第一种存储方式:文件存储。 使用范围:文件储存适合用于存储一些...
Android 系统中主要提供了三种方式用于实现数据持久化功能,分别是: 1、文件存储 2、SharedPreference 存储 3、数据库存储。SharedPreferences 是使用键值对的方式来存储数据的,使用 SharedPreferences来进行数据...
本文实例讲述了Android数据持久化之读写SD卡中内容的方法。分享给大家供大家参考,具体如下: 前面文章里讲的那三个方法:openFileOutput 、openFileInput 虽然都能通过流对象OutputStream和InputStream可以处理任意...
Android下数据持久化存储在自带内存与存储卡,具体可以参见博客:http://www.cnblogs.com/plokmju/p/Android_Storage.html
ios 数据存储,数据持久化,包含Preference 、文件存储、归档、数据库 、 CoreData的使用
持久性和文件I/O是程序保持和记录数据的一种重要方法,这两种不同的处理方法虽然功能上有些接近但实现过程却大不相同。
在Android中,实现数据持久化有五种方式:Preferences,文件File,I/O操作、SQLite数据库,ContentProvider组件。 下面逐个做一简单的介绍: 一、Preferences的介绍: Preferences是一种轻量级的数据存储机制,他将...
博客地址 http://blog.csdn.net/sbsujjbcy/article/details/48026077
持久化到MySql 首先创建数据库,我们这里配置为zipkin(可以按照自己的意愿更改名字) 创建表。建表sql地址:github.com/openzipkin/… 考虑到好多同学打开github遗产缓慢,这里贴出具体建表语句 ————————...
Redis持久化锦囊在手,再也不会担心数据丢失了(csdn)————程序
本文实例讲述了Android数据持久化之SQLite数据库用法。分享给大家供大家参考,具体如下: 这一节我将总结一下android中的另一种数据存储——SQLite 的相关知识点 SQLite数据库是android系统自带的,主要用到的类包括...
◎ 数据持久化的概念 ◎ ORM的基本概念,POJO,PO的概念以及JDO的实现机制 ◎ Hibernate的实现机制 ◎ Hibernate的开发过程:如何配置数据库连接,如何操作数据库
实例中包含三种保持数据的方法,第一种:实用属性列表,第二种:对象归档,第三种:使用Iphone的嵌入式数据库(SQLite3),让你对数据持久化有一个更全面的认识。
小编今天研究了在Unity3D中的数据持久化问题。数据持久化在任何一个开发领域都是一个值得关注的问题,小到一个应用中配置文件的读写,大到数据库的管理维护,都可以看到数据持久化的身影。小编在《C#基于Linq和反射...
Java 小例子:数据持久化(保存数据到文件) Java 小例子:数据持久化(保存数据到文件)
clj的国家集训队论文,关于可持久化数据结构(主席树)