Android-数据存储(文件存储)

1.回顾

前两篇已经学习了Android文件存储的 SharedPreference 和 SQLite 的实现

2.重点

(1)文件存储 介绍

(2)一个列子

3.文件存储

(1)  Activity提供了openFileOutput()方法可以用于把数据输出到文件中;

(2)文件可用来存放大量数据,如文本、图片、音频等。

(3)存储默认位置: /data/data/<包名>/files/***.***

(4)Activity还提供了getCacheDir()和getFilesDir()方法

1)getCacheDir()方法用于获取/data/data//cache目录

2)getFilesDir()方法用于获取/data/data//files目录。

4.存储示例:

//写入数据
	private void writeFiles(String con) throws IOException{
		FileOutputStream fos;
		try {
			fos = openFileOutput("a.txt",MODE_PRIVATE);
			fos.write(con.getBytes());
			fos.close();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

Java基础学的不好 ;

5.读取示例

//读取数据
	private String readFiles() throws IOException{

		try {
			FileInputStream fis=openFileInput("a.txt");
			ByteArrayOutputStream baos=new ByteArrayOutputStream();
			byte[] buffer=new byte[1024];

			int len=0;
			while((len=fis.read(buffer))!=-1){
				baos.write(buffer,0,len);
			}
			fis.close();
			baos.close();
			return baos.toString();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
		return DBNAME;

	}
	

6.存储在SDCard

(1)添加权限

     <!-- 在SDCard中创建与删除文件权限 -->
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
    <!-- 往SDCard写入数据权限 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

(2)判断SDCard 的状态和目录

1)?Environment.getExternalStorageState()方法用于获取SDCard的状态,

如果手机装有SDCard,并且可以进行读写,那么方法返回的状态等于Environment.MEDIA_MOUNTED。

2)Environment.getExternalStorageDirectory()方法用于获取SDCard的目录,

3)获取SDCard目录的方法还可以

File sdCardDir = new File("/sdcard"); //获取SDCard目录

File saveFile = new File(sdCardDir, "abc.txt");

(3)实现存储到SDCard 上

if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
File sdCardDir = Environment.getExternalStorageDirectory();//获取SDCard目录         

File saveFile = new File(sdCardDir, “a.txt”);
        FileOutputStream outStream = new FileOutputStream(saveFile);
        outStream.write("test".getBytes());
        outStream.close();

} 

或者是(因为取得SDCard目录的方法不一样) :

File saveFile = new File("/sdcard/a.txt");

FileOutputStream outStream = new FileOutputStream(saveFile);

outStream.write("test".getBytes());

outStream.close()

7.总结

主要使用  OpenFileOutPut 类进行 文件的存储 ;比较重要的 是 存储在SDCard 上;

 java的 IO 没学好 ,记了好多遍 ,用了好多次 都没记住 ,望大神指点指点!!!

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-09 11:01:17

Android-数据存储(文件存储)的相关文章

android数据储存之存储方式

可以将数据储存在内置或可移动存储,数据库,网络,sharedpreference. android可以使用Content provider来使你的私有数据暴漏给其他应用程序. 一.sharedpreference 得到sharedpreference的两种方法: 1.getSharedPreferenced():使用这个方法你可以定义多个preference文件 2.getPreferenced():只创建一个preference文件 sharedpreference不是严格用来储存"用户配置&

Android中的文件存储

另见Android中的文件存储 一.前言 文件存储时Android中最基本的一种数据存储方式,它不对存储的内容进行任何的格式化处理,所有数据都是原封不动地保存到文件当中的,因此它比较适合用于存储一些简单的文本数据或二进制数据. 二.将数据存储到文件中 Context类中提供了一个openFileOutput()方法,可以用于将数据存储到指定的文件中. 可以看到,此方法接收两个参数,第一个即是文件的名字,这里不可以包含文件路径,所有的文件都是默认存储到/data/data//files/目录下的.

Android中的文件存储数据方式

转自以下文章: http://blog.csdn.net/zuolongsnail/article/details/6559338 http://blog.csdn.net/xiazdong/article/details/7687439 http://www.cnblogs.com/feisky/archive/2011/01/05/1926177.html 1.文件存储数据使用了Java中的IO操作来进行文件的保存和读取,只不过Android在Context类中封装好了输入流和输出流的获取方

Android入门(九)文件存储与SharedPreferences存储

原文链接:http://www.orlion.ga/578/ Android系统中主要提供了三种方式用于简单地实现数据持久化功能,即文件存储.SharedPreference存储以及数据库存储.当然,除了这三种方式之外,你还可以将数据保存在手机的 SD卡中,不过使用文件.SharedPreference或数据库来保存数据会相 对更简单一些,而且比起将数据保存在 SD卡中会更加的安全 一.文件存储 1.将数据存储到文件中 Context类中提供了一个 openFileOutput ()方法,可以用

Android中的文件存储技术

文件存储是每个系统都应该具有的功能,Android系统采用Java语言开发,所以它的文件存储功能基本上和J2SE一样的.为什么会引入文件存储?因为大文件.图片等我们若只存储在手机中很有限,一般都是用一个外存储设备进行存储.好了今天我们就讲讲用编程的方式在Android系统中进行存储. 文件存储的位置 一般文件默认存储在/data/data/<包>/files/***.***(针对我们开发的APK的时候),当然我们也可以存储在存储卡上(这个时候需要在androidManifest.xml 设定文

Android学习之文件存储

今天做了下文件存储的小案例,并借此巩固一下Android中的单元测试及MVC的设计模式. .AndroidMVC模式如下 步骤1: 布局编辑: 布局页面及代码如下: <Button android:id="@+id/btnSave" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/

android面试(4)---文件存储

1.sharePreference? SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数. SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/<package name>/shared_prefs目录下: 一个简单的存储代码如下: SharedPreferences sharedPreferences = getSharedPreferences("wujay", Context

Class 15 - 1 数据存储——文件存储

保存的形式可以多种多样,最简单的形式是 接保存为文本文件,如 TXT.JSON.CSV等.还可以保存到数据库中,如关系型数据库 MySQL ,非关系型数据库 MongoDB.Redis等. 一.TXT文本存储  基本实例: 可以用 requests 将网页源代码获取下来,然后使用 pyquery 解析库解析,接下来将提取的标题. 回答者. 回答保存到文本,代码: import requests from pyquery import PyQuery as pq url = 'https://ww

【BOOK】数据存储—文件存储(TXT、JSON、CSV)

数据存储 文本文件—TXT.JSON.CSV 关系型数据库—MySQL.SQLite.Oracle.SQL Server.DB2 非关系型数据库—MongoDB.Redis   文件打开 open(),第二个参数设置文件打开方式 ※      r:只读,文件指针在文件开头 ※      rb:二进制只读,文件指针在文件开头 ※      r+:读写方式,文件指针在文件开头 ※      w:写入,如果文件已存在,则覆盖:若文件不存在,则新建 ※      wb:二进制写入,如果文件已存在,则覆盖

Android数据储存——文件储存

文件存储数据使用了Java中的IO操作来进行文件的保存和读取.针对文件的操作主要是以下三种: 1.创建或打开文件 2.读取文件 3.删除文件 创建文件: 1.通过Context.openFileOutput获取输出流 /* * name 打开或创建文件的名称 * mode 打开或创建文件的模式 */ FileOutputStream openFileOutput (String name, int mode) Tip:创建的存储文件保存在/data/data/<package name>/fi