Android-Context的IO功能
如何将应用数据保存到本地文件?如何从本地文件加载数据到应用中?我实现的步骤是:
应用(java数据)<--org.json-->JSONString<--Context.IO-->本地文件
今天向读者讲解的是Context.IO部分。
File getDir(String name, int mode) |
获取/data/data/<packagename>/目录的子目录(如不存在就先创建 |
File getFilesDir() | 获取/data/data/<packagename>/files目录 |
File getCacheDir() |
获取/data/data/<packagename>/cache目录。应注意及时清理该目录,并节约使用空间 |
String[] fileList() |
获取/data/data/<packagename>/files目录下的文件列表。可与其他方 |
FileInputStream openFileInput(String name) | 打开现有文件进行读取 |
FileOutputStream openFileOutput(String |
打开文件进行写入,如不存在就创建它 |
Context.IO实现本地文件的字符串输入输出
public class SerializerUtils { public static void save(Context c,String fileName,String data) throws IOException{
Writer writer=null;
try{
OutputStream out=c.openFileOutput(fileName, Context.MODE_PRIVATE);
writer=new OutputStreamWriter(out);
writer.write(data);
}finally{
if(writer!=null){
writer.close();
}
}
} public static String load(Context c,String fileName)throws IOException{
StringBuilder data=new StringBuilder();
BufferedReader reader=null;
try{
InputStream in=c.openFileInput(fileName);
reader=new BufferedReader(new InputStreamReader(in));
String line=null;
while((line=reader.readLine())!=null){
data.append(line);
}
}finally{
if(reader!=null){
reader.close();
}
}
return data.toString();
} }
Android-Context的IO功能的更多相关文章
- 【42】android Context深度剖析
android程序和java程序的区别 Android程序不像Java程序一样,随便创建一个类,写个main()方法就能跑了,而是要有一个完整的Android工程环境,在这个环境下,我们有像Activ ...
- Android Context完全解析
Context类型 我们知道,Android应用都是使用Java语言来编写的,那么大家可以思考一下,一个Android程序和一个Java程序,他们最大的区别在哪里?划分界限又是什么呢?其实简单点分析, ...
- Android Context 是什么?
andorid 开发(42) 版权声明:本文为博主原创文章,未经博主允许不得转载. [转载请注明出处:http://blog.csdn.net/feiduclear_up CSDN 废墟的树] PS ...
- I.MX6 android 移除shutdown功能
/************************************************************************ * I.MX6 android 移除shutdown ...
- Android Context讲解(转)
博客出处 前言:本文是我读<Android内核剖析>第7章 后形成的读书笔记 ,在此向欲了解Android框架的书籍推荐此书. 大家好, 今天给大家介绍下我们在应用开发中最熟悉而陌生的朋友 ...
- Android Camera2 预览功能实现
1. 概述 最近在做一些关于人脸识别的项目,需要用到 Android 相机的预览功能.网上查阅相关资料后,发现 Android 5.0 及以后的版本中,原有的 Camera API 已经被 Camer ...
- Android Context完全解析,你所不知道的Context的各种细节
Context相信所有的Android开发人员基本上每天都在接触,因为它太常见了.但是这并不代表Context没有什么东西好讲的,实际上Context有太多小的细节并不被大家所关注,那么今天我们就来学 ...
- Android Toast的多功能封装——Android开发之路1
Android封装实现各种功能的Toast GitHub地址:https://github.com/SibreiaDante/ToastUtils 效果图: 方法封装如下: showSingleton ...
- Android Context完全解析与各种获取Context方法
Context类型 我们知道,Android应用都是使用Java语言来编写的,那么大家可以思考一下,一个Android程序和一个Java程序,他们最大的区别在哪里?划分界限又是什么呢?其实简单点分析, ...
- Android Webview实现文件下载功能
在做美图欣赏Android应用的时候,其中有涉及到Android应用下载的功能,这个应用本身其实也比较简单,就是通过WebView控制调用相应的WEB页面进行展示.刚开始以为和普通的文件下载实 ...
随机推荐
- ListView自定义滑动条
/** * 修改默认滑动条 */ private void SetSliderIcon() { try { Field f = AbsListView.class.getDeclaredField(& ...
- canvas ---1
Canvas1 (关键词:canvas) canvas :就是html5中提供的一个标签,只是用来展示绘图的内容 canvas 标签的默认宽高:300*150 如果给canvas来设置高度和宽度 ...
- mysql快速入门
一.下载并解压 $ wget http://cdn.mysql.com/Downloads/MySQL-5.5/MySQL-5.5.42-1.el6.x86_64.rpm-bundle.tar 解压后 ...
- 表单验证提交——submit与button
之前做东西接触过表单验证提交,但是都是为了完成工作,做完就做完了,没有注过表单验证提交有几种方法,各方法都有啥区别.今天瞎折腾了一下,对他们研究了一下,如下是我个人的理解: submit: 从字面上看 ...
- Readonly and other things about C++
1. in c# readonly can be delayed to initialize in constructor. 2. in c++ totally no readonly. Many p ...
- Centos common software install
1.本地安装soft yum localinstall xxx.rpm 2.kolourpaintyum install kolourpaint
- 开放GitHub的理由
越来越多的程序把sourcecode和安装包托管到GitHub上,没有GitHub访问的网络太悲催了... 想通过Chocolatey(windows版的apt-get)装一个ConEmu都无法做到 ...
- fiddler使用之坑
今天一上午都在搞fiddler,之前可以抓到浏览器的请求,今天突然不行了,弄得我花一上午时间去设置浏览器代理的事情,遇到各种各样的问题,现将解决办法记录如下: 1.原来fiddler安装在E盘中,安装 ...
- c# Random太快产生的随机数会重复
c# Random快速连续产生相同随机数的解决方案 Random类是一个产生伪随机数字的类,它的构造函数有两种,一个是直接New Random(),另外一个是New Random(Int32),前者是 ...
- LeetCode_Permutation Sequence
The set [1,2,3,…,n] contains a total of n! unique permutations. By listing and labeling all of the p ...