当前位置: 首页 > news >正文

android下对存储的操作

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

对应的图:



相关文章:

  • android开发之滑动效果实现图片浏览_ViewFilpper的使用
  • Python 入门教程 12 ---- Battleship!
  • 【Deep Learning学习笔记】Learning meanings for sentences
  • linux dmesg命令学习
  • 职业规划随想
  • HDU 2485 Destroying the bus stations (IDA*+ BFS)
  • 黑马程序员_常用类(System.Math,Calendar,Date,Runtime)
  • 转载 eoe 大神整理好的 android 开源项目
  • (3)选择元素——(17)练习(Exercises)
  • [week4]每周总结与工作计划
  • 每天一道算法_1_放苹果
  • CSS3之渐变Gradient
  • Linux下几个常用的快捷键,真的很实用
  • Python 入门教程 13 ---- Loops
  • 软件开发中的资源控制问题学习
  • [LeetCode] Wiggle Sort
  • 「译」Node.js Streams 基础
  • 【comparator, comparable】小总结
  • CSS实用技巧干货
  • Javascript基础之Array数组API
  • js中的正则表达式入门
  • k8s如何管理Pod
  • PhantomJS 安装
  • Sass Day-01
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • vue--为什么data属性必须是一个函数
  • 对象管理器(defineProperty)学习笔记
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 普通函数和构造函数的区别
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 如何实现 font-size 的响应式
  • 深入浏览器事件循环的本质
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 数据科学 第 3 章 11 字符串处理
  • 为视图添加丝滑的水波纹
  • 你对linux中grep命令知道多少?
  • ​如何在iOS手机上查看应用日志
  • #ifdef 的技巧用法
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (二)c52学习之旅-简单了解单片机
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (四)Android布局类型(线性布局LinearLayout)
  • (转)负载均衡,回话保持,cookie
  • .NET Core跨平台微服务学习资源
  • .NET 依赖注入和配置系统
  • .NET值类型变量“活”在哪?
  • .sdf和.msp文件读取
  • @DateTimeFormat 和 @JsonFormat 注解详解
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • @select 怎么写存储过程_你知道select语句和update语句分别是怎么执行的吗?