SD卡上读写文件
2015-08-03 16:02
225 查看
读写SD卡上的文件:
如果存储大型文件,例如视频、音乐、文档等。存储到手机内存中是不明智的,一般我们会把这些大型文件存储在SD卡中。首先如果要在程序中使用sdcard进行存储,我们必须要在AndroidManifset.xml文件进行下面的权限设置:
在AndroidManifest.xml中加入访问SDCard的权限如下:
<!-- 在SDCard中创建与删除文件权限 --> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <!-- 往SDCard写入数据权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> |
Environment 是一个提供访问环境变量的类。
getDataDirectory() | 获取到Androi中的data数据目录 |
getDownloadCacheDirectory() | 获取 Android 下载/缓存内容目录。 |
getExternalStorageDirectory() | 获取到外部存储的目录 一般指SDcard |
getExternalStorageState() | 获取外部设置的当前状态 一般指SDcard, android系统中对于外部设置的状态,我们比较常用的应该是 MEDIA_BAD_REMOVAL -->表明SDCard 被卸载前己被移除 MEDIA_CHECKING -->表明对象正在磁盘检查。 MEDIA_MOUNTED -->表明对象是否存在并具有读/写权限 MEDIA_MOUNTED_READ_ONLY -->表明对象权限为只读 MEDIA_NOFS --> 表明对象为空白或正在使用不受支持的文件系统。 MEDIA_REMOVED --> 如果不存在 SDCard 返回 MEDIA_SHARED--> 如果 SDCard 未安装,并通过 USB 大容量存储共享 返回 MEDIA_UNMOUNTABLE--> 返回 SDCard 不可被安装如果 SDCard 是存在但不可以被安装 MEDIA_UNMOUNTED--> 返回 SDCard 已卸掉如果 SDCard 是存在但是没有被安装 |
getRootDirectory() | 获取到Android Root路径 即根目录 |
isExternalStorageEmulated() | 返回Boolean值判断外部设置是否有效 |
isExternalStorageRemovable() | 返回Boolean值,判断外部设置是否可以移除 |
getExternalStoragePublicDirectory(String type) | 取一个高端的公用的外部存储器目录来摆放某些类型的文件 |
step 1:读写前先判断SD卡是否存在。且可以读写。
Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED); |
Environment.getExternalStorageDirectory().getCanonicalPath(); Environment.getExternalStorageDirectory().getAbsolutePath(); |
与上面的文件读写操作一样
step 4:在AndroidManifest中添加SD卡权限
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> |
相关文章推荐
- Leetcode-199(Java) Binary Tree Right Side View
- 如何统计在一篇文章中某个单词出现了几次,以及第一次出现的位置
- ant+ivy,集成到eclipse中
- 用CorePlot实现类似Air Quality的柱状图滚动效果(2/2)
- JSP-EL表达式
- MFC画图(画线、画矩形、画刷画笔的使用)
- C语言结构体中加typedef的区别(文章转移)
- cocos2s-x 子弹的对象池 小结
- MySQL数据类型
- Leetcode-107(Java) Binary Tree Level Order Traversal II
- Dancing Links hdoj 5046 3656 2295
- Js将不规则的字母转化为首字母大写,其它字母小写
- JAVA NIO 简介
- Unity中的倒计时等对于时间的处理
- eclipse 按ctrl建只能显示一个方法的解决
- struts2令牌(token)内部原理
- java正则表达式
- 【技术分享】网关协议学习:CGI、FastCGI、WSGI
- flask中的request.form对象方法
- svn: Can't convert string from 'UTF-8' to native encoding 解决方法