Android数据储存之File
openFileOutStream 和 openFileInStream
FileInputStream fileInputStream = openFileInput(name); 打开应用下文件名称问name的输入流;
获取应用下某个文件的内容:
/**
* 读
* @return
*/
public String read(){
try {
//打开输入流
FileInputStream fileInputStream = openFileInput(name);
//创建byte数组
byte[] buffer = new byte[1034];
int i = 0;
//创建StringBuilder 对象
StringBuilder builder = new StringBuilder();
//循环读取fileInputStream中的字节
while ((i =fileInputStream.read(buffer)) > 0) {
builder.append(new String(buffer, 0, i));
}
//关闭输入流
fileInputStream.close();
//返回输入流中的字符串
return builder.toString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
FileOutputStream fileOutputStream = openFileOutput(name, MODE_PRIVATE);打开本应用下名称为name的输出流
第一个参数为文件名称;
第二个参数为写入模式;
写入模式常用有四种:
MODE_ORIVATE 该文件只能被当前程序读写
MODE_APPEND 已追加的方式打开文件,程序可以向文件中追加内容
MODE_WORLD_READABLE 该文件的内容可以被其他程序读取
MODE_WORLD_WEITEABLE 该文件的内容可以被其他程序读写
示例:
/**
* 写
* @param str 文件中的字符串(内容)
*/
public void write(String str){
try {
//获取输出流对象,已追加的方式打开输出流
FileOutputStream fileOutputStream = openFileOutput(name, MODE_PRIVATE);
//将输出流封装成PrintStream对象
PrintStream printStream = new PrintStream(fileOutputStream);
//输出写入内容
printStream.print(str);
//关闭输出流
printStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
Context提供访问应用程序数据文件夹方法如下:
getDri(String name,int mode) 在应用程序数据文件加下创建或打开以name为名称的子目录
File getFileDri() 获取应用程序的数据文件夹的绝对路径
String[] fileList() 返回应用程序文件夹下全部文件
deleteFile(String name) 删除名称为name的数据文件
Android数据储存之File的更多相关文章
- Android数据存储:File
Android数据存储之File Files:它通过FileInputStream和FileOuputStream对文件进行操作.但是在Android中,文件是一个应用程序私有的,一个应用程序无法读写 ...
- android数据储存之存储方式
能够将数据储存在内置或可移动存储,数据库,网络.sharedpreference. android能够使用Content provider来使你的私有数据暴漏给其它应用程序. 一.sharedpref ...
- android数据存储之File
android中使用File进行存储主要使用到OpenFileOutput和OpenFileInput两个方法,下面直接用一个例子来说明一下. (1)布局文件main.xml文件 <?xml v ...
- android数据储存之应用安装位置
原文地址:http://developer.android.com/guide/topics/data/install-location.html#Compatiblity 从API8開始,你能够将你 ...
- Android数据储存之SQLiteDatabase 简单增删改查
SQLiteDatabase 使用 SQLiteDatabase提供如下方法来打开一个文件对应的数据库: openDatabase(String path, SQLiteDatabase.Cursor ...
- Android数据储存之SharedPreferences总结
写在前面:本文是我参考李刚老师的<疯狂Android讲义>以及API所写的读书笔记,在此表示感谢,本人小白,如有错误敬请指教. SharedPreferences的使用背景: 有时候,应用 ...
- 【Android数据存储】- File
个人学习整理.如有不足之处,请不吝不吝赐教. 转载请注明:@CSU-Max 读写本应用程序数据目录中的文件 此种方法读写的文件在/data/data/<应用程序包名>中 ...
- Android数据储存之SQLiteDatabase SQLiteOpenHelper类的简单使用
SQLiteOpenHelper 简介: SQLiteOpenHelper是一个借口!所以不能直接实例化!那我们想要得到SQLiteOpenHelper对象就需要实现该接口!创建该接口的实现类对象! ...
- Android数据储存之SharedPreferences
Android中SharedPreferences通常与Editor连用 接口SharedPreferences常用方法: boolean contains(String str):判断SharedP ...
随机推荐
- echarts 相关属性介绍
title: {//图表标题 x: 'left', //组件离容器左侧的距离,left的值可以是像20,这样的具体像素值, 可以是像 '20%' 这样相对于容器高宽的百分比,也可以是 'lef ...
- Liunx开发(Extjs4.1+desktop+SSH2超强视频教程实践)(2)
然后装eclipse: 为啥默认是搜狗导航: java还没装呢: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downlo ...
- BZOJ 3873: [Ahoi2014]拼图
BZOJ 3873: [Ahoi2014]拼图 标签(空格分隔): OI-BZOJ OI-DP Time Limit: 10 Sec Memory Limit: 256 MB Description ...
- Problem K: 搜索基础之棋盘问题
Problem K: 搜索基础之棋盘问题 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 92 Solved: 53[Submit][Status][W ...
- Java控制语句例题,for循环语句,if条件语句等,Scanner类与Random类,Math.max()方法
例题:编写程序,生成5个1至10之间的随机整数,并打印结果到控制台 import java.util.Random;class demo09 { public static void main(Str ...
- Jquery LigerUI
http://www.ligerui.com/index.aspx http://api.ligerui.com/ 分享一个基于ligerui的系统应用案例ligerRM V2(权限管理系统)(提供下 ...
- 黑马基础阶段测试题:创建一个存储字符串的集合list,向list中添加以下字符串:”C++”、”Java”、” Python”、”大数据与云计算”。遍历集合,将长度小于5的字符串从集合中删除,删除成功后,打印集合中的所有元素
package com.swift; import java.util.ArrayList; import java.util.List; import java.util.ListIterator; ...
- c++ 循环程序的作业,2017年10月10日作业题。
作业1: 需求:输出一个由 * 符号所组成的矩形,要求每行有50个 * ,一共需要有60行.使用双重for循环完成. 作业2: 需求:输出一个由 * 符号所组成的三角形,要求第一行一个 * ,第二行 ...
- iOS中View的创建过程
ios应用中控制器view的创建方式有三种:storyboard.xib和代码,当APP启动后View的具体加载过程如图(苹果官方): 假设我使用的是WYSViewController控制器 应用启动 ...
- Vue源码学习二 ———— Vue原型对象包装
Vue原型对象的包装 在Vue官网直接通过 script 标签导入的 Vue包是 umd模块的形式.在使用前都通过 new Vue({}).记录一下 Vue构造函数的包装. 在 src/core/in ...