使用Activity的openFileOutput()保存文件的方法,文件存储在手机空间,通常情况下,手机的存储空间不是很大,存储小文件确定。假设你要存储大文件,如视频,是不可行。
对于这样大的文件,如视频,我们可以将其存储在SDCard。 SDCard它是做?动硬盘或U盘。
在模拟器中使用SDCard,你须要先创建一张SDCard卡(当然不是真的SDCard,仅仅是镜像文件)。
创建SDCard能够在Eclipse创建模拟器时随同创建,也能够使用DOS命令进行创建,例如以下:
- 在Dos窗体中进入android SDK安装路径的tools文件夹,输入下面命令创建一张容量为2G的SDCard。文件后缀能够随便取。建议使用.img:
- mksdcard 2048M D:\AndroidTool\sdcard.img
在程序中訪问SDCard,你须要申请訪问SDCard的权限。
在AndroidManifest.xml中增加訪问SDCard的权限例如以下:
- <!-- 在SDCard中创建与删除文件权限 -->
- <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
- <!-- 往SDCard写入数据权限 -->
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
要往SDCard存放文件,程序必须先推断手机是否装有SDCard。而且能够进行读写。
注意:訪问SDCard必须在AndroidManifest.xml中增加訪问SDCard的权限
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ File sdCardDir = Environment.getExternalStorageDirectory();//获取SDCard文件夹 File saveFile = new File(sdCardDir, “itcast.txt”); FileOutputStream outStream = new FileOutputStream(saveFile); outStream.write("赵雅智博客".getBytes()); outStream.close(); }
Environment.getExternalStorageState()方法:获取SDCard的状态
Environment.MEDIA_MOUNTED:假设手机装有SDCard。而且能够进行读写,返回的状态
Environment.getExternalStorageDirectory()方法:获取SDCard的文件夹。当然要获取SDCard的文件夹,你也能够这样写:
File sdCardDir = new File("/sdcard"); //获取SDCard文件夹
File saveFile = new File(sdCardDir, "itcast.txt");
//上面两句代码能够合成一句: File saveFile = new File("/sdcard/itcast.txt");
FileOutputStream outStream = new FileOutputStream(saveFile);
outStream.write("赵雅智test".getBytes());
outStream.close();
版权声明:本文博客原创文章,博客,未经同意,不得转载。
本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/4657329.html,如需转载请自行联系原作者