文档章节

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

c
 chuiyuan
发布于 2014/04/23 20:45
字数 376
阅读 13
收藏 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();
				}	
			}
		});


© 著作权归作者所有

共有 人打赏支持
上一篇: 使用SQLite(1)
下一篇: Weit 启动过程
c
粉丝 9
博文 92
码字总数 40993
作品 0
海淀
私信 提问
IOS 本地存储

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

曹江涛
2016/03/08
21
0
iOS 数据持久化

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

GLAlanTong
2016/02/27
54
0
Android缓存机制——一般存储实现

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

流水潺湲
2018/01/10
0
0
Windows Server 软件定义存储—存储空间IO的分发

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

IT小匠Leo
2018/06/27
0
0
海量小文件存储与Ceph实践

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

cloud-coder
2016/03/09
769
0

没有更多内容

加载失败,请刷新页面

加载更多

https

进入阿里云域名后台,修改DNS为阿里云官方DNS(默认为官方),然后点击“免费开启SSL证书” 点击“申请”、“验证”并等待签发 然后根据自己的服务器类型下载对应的证书 我使用的是lnmpa工具...

临江仙卜算子
15分钟前
0
0
Quartz监听器Listerner

概述 Quartz的监听器用于当任务调度中你所关注事件发生时,能够及时获取这一事件的通知。Quartz监听器主要有JobListener、TriggerListener、SchedulerListener三种,顾名思义,分别表示任务、...

大笨象会跳舞吧
43分钟前
3
0
Call exception, tries=10, retries=35, started=38348 ms ago, cancelled=false, msg=pc-node1 row

写hbase的问题,2019-01-18 23:23:28,082 | INFO | [hconnection-0x6431d54d-shared--pool2-t5] | Call exception, tries=10, retries=35, started=38348 ms ago, cancelled=false, msg=p......

stys35
46分钟前
2
0
docker 安装portainer、gogs、redis、mongodb、es、rabbitmq、mysql、jenkins、harbor

1、准备三台虚拟机ip如下 编号 Ip 1 192.168.100.101 2 192.168.100.102 3 192.168.100.103 2、镜像应用编排 192.168.100.101 主要安装系统运维相关服务 192.168.100.102 主要安装mysql、mon...

北岩
55分钟前
7
0
storm 提交任务报SocketException错误及解决办法

提交任务爆错: org.apache.storm.thrift.transport.TTransportException: java.net.SocketException: Broken pipe (Write failed) ..... Caused by: org.apache.storm.thrift.transport.TTr......

jingshishengxu
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部