(转)把文件存放在SDCard

  使用 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 的状态,如果手机装有 SDCard ,并且可以进行读 写,那么方法返回的状态等于 Environment.MEDIA_MOUNTED
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(); 
l
l

你可能感兴趣的:(eclipse,android,File,dos,手机,tools)