码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2015-08-27 18:52:27      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:文件存储   android   openfileoutput   sdcard   

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 没学好 ,记了好多遍 ,用了好多次 都没记住 ,望大神指点指点!!!

 

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

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

标签:文件存储   android   openfileoutput   sdcard   

原文地址:http://blog.csdn.net/lablenet/article/details/48029865

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!