Android SDCard操作(文件读写,容量计算)(An-Beer 工作室)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Android SDCard操作(文件读写,容量计算)
android.os.Environment
提供访问环境变量
ng.Object
android.os.Environment
Environment 静态方法:
方法: getDataDirectory ()
返回: File
解释: 返回Data的目录
方法: getDownloadCacheDirectory ()
返回: File
解释: 返回下载缓冲区目录
方法: getExternalStorageDirectory ()
返回: File
解释: 返回扩展存储区目录(SDCard)
方法: getExternalStoragePublicDirectory (String type)
返回: File
解释: 返回一个高端的公用的外部存储器目录来摆放某些类型的文件(来自网上)
方法: getRootDirectory ()
返回: File
解释: 返回Android的根目录
方法: getExternalStorageState ()
返回: String
解释: 返回外部存储设备的当前状态
getExternalStorageState () 返回的状态String类型常量:常量: MEDIA_BAD_REMOVAL
值 : "bad_removal"
解释: 在没有正确卸载SDCard之前移除了
常量:MEDIA_CHECKING
值 : "checking"
解释: 正在磁盘检查
常量: MEDIA_MOUNTED
值 : "mounted"
解释: 已经挂载并且拥有可读可写权限
常量: MEDIA_MOUNTED_READ_ONLY
值 : "mounted_ro"
解释: 已经挂载,但只拥有可读权限
常量:MEDIA_NOFS
值 : "nofs"
解释: 对象空白,或者文件系统不支持
常量: MEDIA_REMOVED
值 : "removed"
解释: 已经移除扩展设备
常量: MEDIA_SHARED
值 : "shared"
解释: 如果SDCard未挂载,并通过USB大容量存储共享
常量: MEDIA_UNMOUNTABLE
值 : "unmountable"
解释: 不可以挂载任何扩展设备
常量: MEDIA_UNMOUNTED
值 : "unmounted"
解释: 已经卸载
使用时只需先判断SDCard当前的状态然后取得SdCard的目录即可(见源代码)
1//SDcard 操作
2public void SDCardTest() {
3// 获取扩展SD卡设备状态
4 String sDStateString = android.os.Environment.g etExternalStorageState();
5
6// 拥有可读可写权限
7if (sDStateString.equals(android.os.Environment. MEDIA_MOUNTED)) {
8
9try {
10
11// 获取扩展存储设备的文件目录
12 File SDFile = android.os.Environment
13 .getExternalStorageDirectory();
14
15// 打开文件
16 File myFile = new File(SDFile.getAbsoluteP ath()
17 + File.separator + "MyFile.txt");
18
19// 判断是否存在,不存在则创建
20if (!myFile.exists()) {
21 myFile.createNewFile();
22 }
23
24// 写数据
25 String szOutText = "Hello, World!";
26 FileOutputStream outputStream = new FileOu tputStream(myFile);
27 outputStream.write(szOutText.getBytes());
28 outputStream.close();
29
30 } catch (Exception e) {
31// TODO: handle exception
32 }// end of try
33
34 }// end of if(MEDIA_MOUNTED)
35 // 拥有只读权限
36else if (sDStateString
37 .endsWith(android.os.Environment.MEDIA_MO UNTED_READ_ONLY)) {
38
39// 获取扩展存储设备的文件目录
40 File SDFile = android.os.Environment.getExter nalStorageDirectory();
41
42// 创建一个文件
43 File myFile = new File(SDFile.getAbsolutePath () + File.separator
44 + "MyFile.txt");
45
46// 判断文件是否存在
47if (myFile.exists()) {
48try {
49
50// 读数据