文档章节

数据 的存储(2)使用文件存储

c
 chuiyuan
发布于 2014/04/23 20:45
字数 376
阅读 13
收藏 0
点赞 0
评论 0

一.文件保存概述

1.文件保存的位子 

/data/data/<packagename>/files

2.文件操作的方法

openFileInput()   

openFileOutput()

deleteFile()

fileList()....


二.在默认位子创建和写入文件

1.获得一个输出流FileOutputStream对象

openFileOutput("myFile.txt" ,Context.MODE_PRIVATE);

java中的流都要指定输出路径 ,但是在android中,openFileOutput则不用,这就是android的方便的地方了。将会使用默认路径 ,如上面的。

2.向流中写入数据

write( data.getBytes() );

因为在1中我们得到的是FileOutputStream字节流,它只能按字节 写入。所以我们要将data(String类)转成byte类的,

当然我们也可以使用OutputStreamWriter将其转成字符流再操作。

3.close流

fos.close()


三.在默认位置读取文件

1.创建输入流

FileInputStream    fis ;输入字节流

InputStreamReader   isr ;字符流

BufferedReader   br ;    缓冲流,可以一段段读取

fis = openFileInput( "myFile.txt ");

isr =new InputStreamReader (fis);

br = new BufferedReader (isr);  

2. 读取数据 

我们在这里可以用readLine()

String str =null;

str =br.readLine();

3. 关闭流

fis.close();

isr.close();

br.close();

loginBtn.setOnClickListener(new OnClickListener(){   //login on and read
			public void onClick(View v) {
				// TODO Auto-generated method stub
				FileInputStream fis;
				InputStreamReader isr;
				BufferedReader br;
				try {
					fis = openFileInput (PASS);
					isr = new InputStreamReader (fis);
					br = new BufferedReader (isr);
					
					StringBuffer sb = new StringBuffer();
					String s=null;
					while ((s=br.readLine())!=null){
						sb.append(s+"\n");
					}
					pass_in.setText(sb);
					fis.close();
					isr.close();
					br.close();
				} catch (FileNotFoundException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				
				
			}
		});
		
		regBtn.setOnClickListener(new OnClickListener(){  //register and save
			public void onClick(View v) {
				// TODO Auto-generated method stub
				String pass = pass_in.getText().toString();
				
				try {
					FileOutputStream fos = openFileOutput(PASS, Context.MODE_PRIVATE);
					fos.write(pass.getBytes());
					fos.close();
					pass_in.setText("");
				} catch (FileNotFoundException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}	
			}
		});


© 著作权归作者所有

共有 人打赏支持
c
粉丝 9
博文 91
码字总数 40993
作品 0
海淀
iOS 数据持久化

iOS 数据持久化 在iOS中,常用的数据持久化操作有四种:plist文件,NSUserdefaults,SQLite3,CoreData. Plist文件:也就是我们常说的属性列表,它是一种明文的轻量级存储方式,存储的格式有很多种,...

GLAlanTong ⋅ 2016/02/27 ⋅ 0

IOS 本地存储

1,plist文件。 Plist文件:也就是我们常说的属性列表,它是一种明文的轻量级存储方式,存储的格式有很多种,最常规的是XML格式.Plist文件只能用数组或者字典进行读取. 优点: 用来存储少量的数据...

曹江涛 ⋅ 2016/03/08 ⋅ 0

海量小文件存储与Ceph实践

海量小文件存储(简称LOSF,lots of small files)出现后,就一直是业界的难题,众多博文(如[1])对此问题进行了阐述与分析,许多互联网公司也针对自己的具体场景研发了自己的存储方案(如tao...

cloud-coder ⋅ 2016/03/09 ⋅ 0

Android 的数据存储方式

Android 提供了5种方式存储数据: --使用SharedPreferences存储数据; --文件存储数据; --SQLite数据库存储数据; --使用ContentProvider存储数据; --网络存储数据; 先说下,Preference,...

等待流星 ⋅ 2014/03/13 ⋅ 0

详解Silverlight 2中的独立存储(Isolated Storage)

概述 独立存储(Isolated Storage)是Silverlight 2中提供的一个客户端安全的存储,它是一个与Cookie机制类似的局部信任机制。独立存储机制的APIs 提供了一个虚拟的文件系统和可以访问这个虚...

技术小甜 ⋅ 2017/11/16 ⋅ 0

Windows Server 软件定义存储—存储空间IO的分发

SDS不仅是一个软件和硬件解耦的过程,更是一个存储数据平面和控制平面解耦的过程。同样,Windows Server SDS也是一个数据平面和控制平面解耦的过程,结构后分为3个部分:存储池、存储空间和服...

IT小匠Leo ⋅ 2017/02/24 ⋅ 0

Android缓存机制——一般存储实现

一、Android缓存机制 Android缓存分为内存缓存和文件缓存(磁盘缓存)。在早期,各大图片缓存框架流行之前,常用的内存缓存方式是软引用(SoftReference)和弱引用(WeakReference),如大部...

流水潺湲 ⋅ 01/10 ⋅ 0

Azure云存储及存储账户概述

本文介绍下Azure云存储及存储账户。 1、什么是微软Azure云存储 微软Azure云存储是微软提供的云端数据存储服务,是一种可伸缩、持久化的数据存储服务,可以在Internet上被访问并按实际存储容量...

huangbowen2005 ⋅ 03/15 ⋅ 0

android数据存储方式

1、SharePreferce:SharedPreferences 是使用键值对的方式来存储数据 2、SQLite:用来存储这些数据量大、结构性复杂的数据 3、File:文件存储是Android 中最基本的一种数据存储方式,它不对存...

ahucsxl ⋅ 2015/08/29 ⋅ 0

安卓应用安全指南 4.6.1 处理文件 示例代码

安卓应用安全指南 4.6.1 处理文件 示例代码 原书:Android Application Secure Design/Secure Coding Guidebook 译者:飞龙 协议:CC BY-NC-SA 4.0 如上所述,文件原则上应该是私有的。 但是...

apachecn_飞龙 ⋅ 03/22 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

中标麒麟(龙芯版)7.0优盘安装

########################################## 制作U盘安装盘: 1.准备U盘: PMON环境下U盘必须格式化成ext3; 昆仑固件环境下可以格式化成ext3,ext4 2.把整个镜像 xxx.iso 复制到U盘下面 3....

gugudu ⋅ 16分钟前 ⋅ 0

老司机写的大数据建模五步走

本文将尝试来梳理一下数据建模的步骤,以及每一步需要做的工作。 01 第一步:选择模型或自定义模式 这是建模的第一步,我们需要基于业务问题,来决定可以选择哪些可用的模型。 比如,如果要预...

gulf ⋅ 25分钟前 ⋅ 0

PacificA 一致性协议解读

PacificA 的 paper 在 08 年左右发出来的,比 Raft 早了 6,7 年。 在 PacificA 论文中,他们强调该算法使用范围是 LAN (Local Area Network),讲白了就是对跨机房不友好。 不管是 ZAB,Raf...

黑客画家 ⋅ 27分钟前 ⋅ 0

盘符图标个性化

设置自己的专属盘符图标 准备ico格式的图片文件一个,在根目录下创建autorun.inf文件 文件内容 [Autorun]icon=logo.ico 重新启动或者插拔U盘即可看到结果...

阿豪boy ⋅ 27分钟前 ⋅ 0

Windows下QQ聊天记录中图片的默认存放位置

Windows下QQ聊天记录中图片的默认存放位置在设置中是没有说明的。 实测位置在:D:\Documents\Tencent Files\974101467\Image 其中: “974101467”为对应的QQ号; “C2C”为个人之间的聊天图...

临江仙卜算子 ⋅ 34分钟前 ⋅ 0

GC 的三种基本实现方式

参考资料《代码的未来》(作者: [日] 松本行弘)。 由于并非本人原著(我只是个“搬运工“),SO 未经本人允许请尽情转载。 另外个人像说明一下这里所说的GC指泛指垃圾回收机制,而单指Jav...

xixingzhe ⋅ 35分钟前 ⋅ 0

Android双击退出

/** * 菜单、返回键响应 */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if(keyCode......

王先森oO ⋅ 39分钟前 ⋅ 0

idea 整合 vue 启动

刚学习Vue 搭建了一个项目 只能命令启动 Idea里面不会启动 尝试了一下修改启动的配置 如下: 1.首先你要保证你的package.json没有修改过 具体原因没有看 因为我改了这个name的值 就没办法启动...

事儿爹 ⋅ 44分钟前 ⋅ 0

redis在windows环境的后台运行方法

在后台运行,首先需要安装redis服务,命令为 redis-server.exe --service-install redis.windows.conf --loglevel verbose 启动,命令为 redis-server --service-start 停止,命令为 redis-...

程序羊 ⋅ 48分钟前 ⋅ 0

比特币现金开发者提出新的交易订单规则

本周,四位比特币现金的四位开发者和研究员:Joannes Vermorel(Lokad),AmaurySéchet(比特币ABC),Shammah Chancellor(比特币ABC)和Tomas van der Wansem(Bitcrust)共同发表了一篇关...

lpy411 ⋅ 51分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部