Android 数据存储之文件存储小记
前言
Android操作文件的方式和JAVA I/O操作是十分类似的,在这个我小谈一下。
Android写入文件
在Android中Context
类提供了openFileOutput()
方法,用于文件写入。默认存储路径为/data/data/<package name>/files/
中。
openFileOutput原型:
public FileOutputStream openFileOutput(String name, int mode)throws FileNotFoundException {return mBase.openFileOutput(name, mode);
}
第二个参数mode有4个类型:
MODE_APPEND
:检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
MODE_PRIVATE
:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中。
MODE_WORLD_READABLE
:表示当前文件可以被其他应用读取
MODE_WORLD_WRITEABLE
:表示当前文件可以被其他应用写入
写入例子福利:
public void write(String inputText){FileOutputStream out = null;BufferedWriter writer = null;try {out = openFileOutput("data", Context.MODE_PRIVATE);writer = new BufferedWriter(new OutputStreamWriter(out));writer.write(inputText);} catch (Exception e) {e.printStackTrace();} finally {try {if (writer != null) {writer.close();}} catch (Exception e2) {e2.printStackTrace();}}
}
Android读取文件
同样,在Android中Context
类还提供了openFileInput()
方法,用于文件写入。
openFileInput原型:
public FileInputStream openFileInput(String name)throws FileNotFoundException {return mBase.openFileInput(name);
}
参数很简单,就一个文件名。
读取例子福利:
public String load(String fileName){FileInputStream in = null;BufferedReader reader = null;StringBuilder content = new StringBuilder();try {in = openFileInput(fileName);reader = new BufferedReader(new InputStreamReader(in));String line = "";while((line = reader.readLine()) != null){content.append(line);}} catch (Exception e) {e.printStackTrace();} finally {if (reader != null) {try {reader.close();} catch (Exception e2) {e2.printStackTrace();}}}return content.toString();}
}
总结
文件读取的核心就是Context
提供的openFileInput()
和openFileOutput()
,操作起来很简单,但是不适合用于保存一些复杂的文本数据。
博客名称:王乐平博客
博客地址:http://blog.lepingde.com
CSDN博客地址:http://blog.csdn.net/lecepin
Android 数据存储之文件存储小记相关推荐
- Android数据持久化:文件存储
数据持久化: 数据可分为瞬时数据和关键数据.保存在内存之中的数据是瞬时数据,而对于一些关键性数据,后期需要持续使用的,应当保存在存储设备中: 持久化保存方式: 文件存储.SharePreference ...
- 文件存储管理 android,Android数据持久化之文件存储
一. 文件存储路径分类 1. 内部存储 内部存储是指在system分区(根目录)下的data/data/package name/下的文件. 这层目录普通用户和程序一般无法直接访问,当前应用的文件也只 ...
- Android 保存QQ密码(数据存储:文件存储、SharedPreferences)
源码[工程文件]:https://gitee.com/lwx001/saveQQ MainActivity.java: package cn.lwx.saveqq;import android.os. ...
- Android(数据存储:文件存储、SharedPreferences)验证QQ密码
前情提要1 :静态页面-简易QQ登录页面(纯activity_main.xml页面) [https://blog.csdn.net/weixin_44949135/article/details/10 ...
- android文件存储数组,Android面试简录——文件存储
* SharedPreferences 请描述Android SDK支持哪些文件存储技术? 1.SharedPreferences保存key-value类型的数据 2.流文件存储(openFileOu ...
- android数据的五种存储方式
Android提供了5种方式存储数据 1 使用SharedPreferences存储数据 它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息. 其存储位置在/da ...
- Android数据的四种存储方式
很清晰的思路,转自Android数据的四种存储方式 作为一个完成的应用程序,数据存储操作是必不可少的.因此,Android系统一共提供了四种数据存储方式.分别是:SharePreference.SQL ...
- Android基础知识(二十一):Android五大存储之文件存储、Content Provider存储和网络存储
Android基础知识(二十一):Android五大存储之文件存储.Content Provider存储和网络存储 一.Android存储--持久化技术 数据持久化是指将那些内存中的瞬时数据保存到存储 ...
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (四) —— ContentProvider...
ContentProvider是安卓平台中,在不同应用程序之间实现数据共享的一种机制.一个应用程序如果需要让别的程序可以操作自己的数据,即可采用这种机制.并且此种方式忽略了底层的数据存储实现,Cont ...
- 对象存储2:数据存储类型-文件存储、块存储、对象存储详解
上一篇介绍了传统存储的几个常用类型,本篇主要介绍云平台用到的常用存储类型,分别是文件存储.块存储和对象存储. 这种分类是以数据存储的方式来命名的,体现了不同的数据存储格式.文件存储会以文件和文件夹的层 ...
最新文章
- CCleaner v5.12.5431 单文件汉化版
- 在python中,小数点前的0可以省略不写...
- pyodbc psutil wmi paramiko
- 名词解释失效安全_09失效分析复习题新
- python进阶学啥书籍_2018年Python学习进阶书籍推荐
- android 动态矩形条,android – 从相机中动态检测不同形状(圆形,方形和矩形)?
- [系统安全] 六.逆向分析之条件语句和循环语句源码还原及流程控制
- jQuery中的事件冒泡、事件捕获和事件追加引发的问题
- 微信小程序android错误,app安卓端 跳转到微信小程序失败
- hystrix基于request cache请求缓存技术优化批量数据查询接口
- Eclipse添加git插件上传项目到github
- 糖原代谢疾病行业调研报告 - 市场现状分析与发展前景预测
- python工资一般多少西安-在西安为什么对Python编程需求这么大?工资这么高?
- 【面试题37】两个链表的第一个公共结点
- python绘图多子图 分别美化
- 【stm32学习】正点原子stm32f103学习——开发板入门
- 利用python的requests爬取高清壁纸
- SEO与爱情,十字路口中的抉择
- dispatch_queue_create创建源码分析
- 利用Pygame制作跳跃的小球游戏
热门文章
- SaltStack源码分析之:master端执行salt模块大致流程
- find_cmd函数分析
- 异常检测时间序列_时间序列的无监督异常检测
- 315. 计算右侧小于当前元素的个数
- leetcode 1744. 你能在你最喜欢的那天吃到你最喜欢的糖果吗?
- 数据挖掘—Apriori算法(Java实现)
- leetcode 830. 较大分组的位置
- leetcode 714. 买卖股票的最佳时机含手续费(dp)
- ariel字体_播客第58集:软件开发人员和freeCodeCamp超级巨星Ariel Leslie
- apache mesos_试用Apache Mesos HTTP API获得乐趣和收益