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的更多相关文章

  1. Android数据存储:File

    Android数据存储之File Files:它通过FileInputStream和FileOuputStream对文件进行操作.但是在Android中,文件是一个应用程序私有的,一个应用程序无法读写 ...

  2. android数据储存之存储方式

    能够将数据储存在内置或可移动存储,数据库,网络.sharedpreference. android能够使用Content provider来使你的私有数据暴漏给其它应用程序. 一.sharedpref ...

  3. android数据存储之File

    android中使用File进行存储主要使用到OpenFileOutput和OpenFileInput两个方法,下面直接用一个例子来说明一下. (1)布局文件main.xml文件 <?xml v ...

  4. android数据储存之应用安装位置

    原文地址:http://developer.android.com/guide/topics/data/install-location.html#Compatiblity 从API8開始,你能够将你 ...

  5. Android数据储存之SQLiteDatabase 简单增删改查

    SQLiteDatabase 使用 SQLiteDatabase提供如下方法来打开一个文件对应的数据库: openDatabase(String path, SQLiteDatabase.Cursor ...

  6. Android数据储存之SharedPreferences总结

    写在前面:本文是我参考李刚老师的<疯狂Android讲义>以及API所写的读书笔记,在此表示感谢,本人小白,如有错误敬请指教. SharedPreferences的使用背景: 有时候,应用 ...

  7. 【Android数据存储】- File

    个人学习整理.如有不足之处,请不吝不吝赐教. 转载请注明:@CSU-Max 读写本应用程序数据目录中的文件        此种方法读写的文件在/data/data/<应用程序包名>中   ...

  8. Android数据储存之SQLiteDatabase SQLiteOpenHelper类的简单使用

    SQLiteOpenHelper 简介: SQLiteOpenHelper是一个借口!所以不能直接实例化!那我们想要得到SQLiteOpenHelper对象就需要实现该接口!创建该接口的实现类对象! ...

  9. Android数据储存之SharedPreferences

    Android中SharedPreferences通常与Editor连用 接口SharedPreferences常用方法: boolean contains(String str):判断SharedP ...

随机推荐

  1. Copy Failed Error Access to fobidden

    使用SVN的branch/tag命令来切包时,报出了一下错误提示 就这个错误,调了整整一天,如果你也遇到了类似问题,我真心希望下面解决问题的过程能帮助到你:D 解决过程: 1.网上查了很多帖子,发现跟 ...

  2. SQL 使用触发器常见错误

    今天做代码审查时,看见以下一段触发器的创建脚本,我们一起来分析一下 create trigger [trigger_puClassRoomType] on [dbo].[puClassRoomType ...

  3. java Vamei快速教程13 String类

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 之前的Java基础系列中讨论了Java最核心的概念,特别是面向对象的基础.在Jav ...

  4. IOS Block动画

    ● + (void)transitionFromView:(UIView *)fromView toView:(UIView *)toView duration:(NSTimeInterval)dur ...

  5. IOS 监听键盘的通知(NSNotificationCenter)

    通知方法: /** * 当键盘改变了frame(位置和尺寸)的时候调用 */ - (void)keyboardWillChangeFrame:(NSNotification *)note { // 设 ...

  6. VueX源码分析(5)

    VueX源码分析(5) 最终也是最重要的store.js,该文件主要涉及的内容如下: Store类 genericSubscribe函数 resetStore函数 resetStoreVM函数 ins ...

  7. Vue中结合clipboard实现复制功能

    首先现在Vue中引入clipboard npm install clipboard --save 在需要使用的组件中import 引入clipboard import Clipboard from ' ...

  8. 基础篇(2):c++顺序结构程序设计

    一个程序最基本的结构莫过于3种:顺序,选择,循环.这篇讲讲顺序结构. c++语言的运算符与表达式数量之多,在高级语言中是少见的,也使得它的语言功能十分完善. c++的运算符有单目与双目之分(作用于一个 ...

  9. HTML5/CSS3 第一章基础

    HTML5/CSS3基础 1. HTML 1.1 什么是HTML HTML是用来制作网页的标记语言 HTML是Hypertext Markup Language的英文缩写,即超文本标记语言 HTML语 ...

  10. 简述在php中 = 、==、 === 的区别(简述在php中 等于 、双等于、 三等于 的区别)

    = 是赋值:就是说给一个变量赋值 == 是轻量级的比较运算,只看值不看类型 === 是重量级的比较运算,既看值,也看类型,要绝对相等才会为true