android数据存储中的文件存储学习记录
2015-07-25 20:55
651 查看
Andoid系统中主要提供了三种方式用于简单地实现数据持久化功能,即文件存储,SharedPreference存储以及SQLite数据库存。
储。此外还可以将数据保存在手机的SD卡中,但是安全性较弱。
文件存储将不对存储的内容进行任何的格式化处理,用于存储一些简单的文本数据或二进制数据。
Context类提供openFileOutput与openFileinput方法,分别返回一个FileOutputstram与Fileinputstream对象。
1、openFileOutput("文件名",操作模式)
文件名不能包含路径,所有文件默认存储到/data/data<package name>/file/目录下。
在eclipse中通过DDMS视图中的File Explorer进入目录查看。
主要操作模式:
MODE_PRIVATE 默认模式,内容覆盖原内容。
MODE_APPEND 模式若文件不存在则创建新文件,已存在则追加内容。
MODE_WORLD_READABLE,MODE_WOELD_WRITEABLE模式在android4.2版本已被废弃。
简单demo如下:
2、openFileInput("文件名")
从/data/data<package name>/file/目录下通过文件名加载文件。
简单demo如下:
总结文件存储核心技术其实就是Context类中提供的openFileOutput与openFileinput方法,然后就是使用java的各种流来进行读写操作。
储。此外还可以将数据保存在手机的SD卡中,但是安全性较弱。
文件存储将不对存储的内容进行任何的格式化处理,用于存储一些简单的文本数据或二进制数据。
Context类提供openFileOutput与openFileinput方法,分别返回一个FileOutputstram与Fileinputstream对象。
1、openFileOutput("文件名",操作模式)
文件名不能包含路径,所有文件默认存储到/data/data<package name>/file/目录下。
在eclipse中通过DDMS视图中的File Explorer进入目录查看。
主要操作模式:
MODE_PRIVATE 默认模式,内容覆盖原内容。
MODE_APPEND 模式若文件不存在则创建新文件,已存在则追加内容。
MODE_WORLD_READABLE,MODE_WOELD_WRITEABLE模式在android4.2版本已被废弃。
简单demo如下:
//保存字符串"Hello World"到data文件 public void saveData() { FileOutputStream out=null; OutputStreamWriter osw=null; BufferedWriter writer=null; String content="Hello World"; try { out=openFileOutput("data", Context.MODE_PRIVATE); osw=new OutputStreamWriter(out); writer=new BufferedWriter(osw); writer.write(content); } catch (Exception e) { e.printStackTrace(); }finally{ try { if(writer!=null) { writer.close(); } } catch (Exception e2) { e2.printStackTrace(); } } }
2、openFileInput("文件名")
从/data/data<package name>/file/目录下通过文件名加载文件。
简单demo如下:
//得到从data文件中读取的字符串 public String loadData() { FileInputStream in =null; InputStreamReader isr=null; BufferedReader reader =null; String line; StringBuilder build = new StringBuilder(); try { in = openFileInput("data"); isr = new InputStreamReader(in); reader = new BufferedReader(isr); while((line=reader.readLine())!=null) { build.append(line); } } catch (Exception e) { e.printStackTrace(); }finally{ if(reader!=null) { try { reader.close(); } catch (IOException e) { e.printStackTrace(); } } } return build.toString(); }
总结文件存储核心技术其实就是Context类中提供的openFileOutput与openFileinput方法,然后就是使用java的各种流来进行读写操作。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件