android下对sd卡的存储操作一般是通过Environment来实现的。主要有如下集中操作。

//获取sd卡中的信息,注意这里的sdcard指的是所有存储设备下的sdcard目录File sdcard=Environment.getExternalStorageDirectory();System.out.println("sdcard:"+sdcard.getName());//获取数据目录,这里的数据目录一般指的是由程序生成的文件,这些文件是由程序查看的。比如小型数据库sqlite,xml格式的存储对象SharedPreferences等等,对应data目录File data = Environment.getDataDirectory();System.out.println("data:"+data.getName());//获取Android 下载/缓存内容目录。对应cache目录File cache = Environment.getDownloadCacheDirectory();System.out.println("cache:"+cache.getName());//获取系统文件,对应system目录File root = Environment.getRootDirectory();System.out.println("root:"+root.getName());// 取一个高端的公用的外部存储器目录来摆放某些类型的文件File publicDirectory = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);System.out.println(Environment.DIRECTORY_PICTURES);System.out.println("publicDirectory:" + publicDirectory);//获取sdcard的状态,String state = Environment.getExternalStorageState();System.out.println("state:"+state);
其中state的状态有:

  • MEDIA_BAD_REMOVAL
    解释:返回getExternalStorageState(),表明SDCard 被卸载前己被移除
  • MEDIA_CHECKING
    解释:返回getExternalStorageState(),表明对象正在磁盘检查。
  • MEDIA_MOUNTED
    解释:返回getExternalStorageState(),表明对象是否存在并具有读/写权限
  • MEDIA_MOUNTED_READ_ONLY
    解释:返回getExternalStorageState(),表明对象权限为只读
  • MEDIA_NOFS
    解释:返回getExternalStorageState(),表明对象为空白或正在使用不受支持的文件系统。
  • MEDIA_REMOVED
    解释:返回getExternalStorageState(),如果不存在 SDCard 返回
  • MEDIA_SHARED
    解释:返回getExternalStorageState(),如果 SDCard 未安装 ,并通过 USB 大容量存储共享 返回
  • MEDIA_UNMOUNTABLE
    解释:返回getExternalStorageState(),返回SDCard 不可被安装 如果 SDCard是存在但不可以被安装
  • MEDIA_UNMOUNTED
    解释:返回getExternalStorageState(),返回 SDCard 已卸掉如果 SDCard 是存在但是没有被安装
结果:

09-29 08:20:45.386: I/System.out(281): sdcard:sdcard
09-29 08:20:45.386: I/System.out(281): data:data
09-29 08:20:45.386: I/System.out(281): cache:cache
09-29 08:20:45.386: I/System.out(281): root:system
09-29 08:20:45.386: I/System.out(281): Pictures
09-29 08:20:45.410: I/System.out(281): publicDirectory:/mnt/sdcard/Pictures
09-29 08:20:45.410: I/System.out(281): state:mounted

对应的图:



更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. 在Ubuntu16.04下编译FFmpeg4.2.3
  6. Android(安卓)签名和发布应用程序
  7. android studio信鸽推送10004错误
  8. Android(安卓)APK JNI sample (JAVA JNI)
  9. Android开发笔记

随机推荐

  1. 史上最全的Android开发学习教程集锦【初
  2. Android从零单排——前言
  3. Android(安卓)ImageView 的scaleType 属
  4. Android项目构建Apk包流程
  5. Android整理笔记——1.3.2.1自定义view的
  6. android:sharedUserId问题
  7. android一键改机之真改机build.prop
  8. Android面试汇总-Android内存和性能优化
  9. Android布局优化之merge(二)
  10. Android线程与ANR