`

操作内存卡的常用代码

 
阅读更多

1.操作权限

<!-- SD卡写入 -->

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.DELETE_CACHE_FILES" />

 



 

 

 

2.获取文件保存路径

// 获取保存路径
	public File getFilePath() {
		File filePath = null;
		//判断SD卡存在与否
		if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
			filePath = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+ "/A_Test/test/");
			if (!filePath.isDirectory()) {//判断文件存在与否,不存在就创建
				filePath.mkdirs();
			}
		} else {
			Toast.makeText(Main.this, "存储卡不存在,请插入卡!", 3000).show();
		}
		return filePath;
	}

  

3.获取图片保存路径

 

// 获得SD的路径
	public String getSDPath() {
		File sdPath = null;
		if (Environment.getExternalStorageState().equals(
				android.os.Environment.MEDIA_MOUNTED)) { // sd卡存在
			sdPath = new File(Environment.getExternalStorageDirectory()
					.getAbsolutePath()
					+ File.separator + "mobileoa" + File.separator + "photo");// 获得路径
			// sdPath = new File(Environment.getExternalStorageDirectory()
			// .getAbsolutePath());// 获得根路径
		}
		return sdPath != null ? sdPath.toString() : "内存卡不存在!";
	}

	// 获得SDCard下图片的路径
	private List<String> getSDCard() {
		imagePaths = new ArrayList<String>();
		try {
			File file = new File(getSDPath());
			File[] files = file.listFiles();
			for (File theFile : files) {
				if (isImageFile(theFile.getPath())) {
					imagePaths.add(theFile.getPath());
				}
			}
		} catch (Exception e) {
			return imagePaths;
		}
		return imagePaths;
	}

	// 判断是否是图片文件
	private boolean isImageFile(String fileName) {
		String extension = fileName.substring(fileName.lastIndexOf(".") + 1,
				fileName.length()).toLowerCase();
		if (extension.equals("jpg") || extension.equals("png")
				|| extension.equals("gif") || extension.equals("jpeg")
				|| extension.equals("bmp")) {
			return true;
		}
		return false;
	}

 

分享到:
评论

相关推荐

    JAVA上百实例源码以及开源项目源代码

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道VB...

    javaSE代码实例

    5.5 数组的常用操作 69 5.5.1 数组复制 69 5.5.2 数组排序 71 5.5.3 搜索指定元素 72 5.5.4 比较数组中的元素 73 5.6 关于args[] 73 5.7 小结 74 第二篇 基础篇 第6章 对象和类——Java世界的细胞...

    《Android应用开发揭秘》附带光盘代码.

    《Android应用开发揭秘》全部实例源代码,配合《Android应用开发揭秘》使用 前言  第一部分 准备篇  第1章 Android开发简介  1.1 Android基本概念  1.1.1 Android简介  1.1.2 Android的系统构架  1.1.3 ...

    JAVA基于局域网的聊天室系统(源代码+论文).zip

    JAVA基于局域网的聊天室系统(源代码+论文) 摘 要 视频聊天系统作为一种新型的通信和交流工具,突破了地域的限制,可以提供更为便捷、灵活、全面的音、视频信息的传递和服务,具有极其广泛的发展前景。 本文介绍了...

    java源码包---java 源码 大量 实例

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道VB...

    vc++ 应用源码包_6

    代码里用了备份dll的方法,因此在自定义的函数中可以直接调用在内存中备份的dll代码,而不需要再把函数头部改来改去。 IOCP反弹远控客户端模型,外加上线服务端,全部代码注释! 如题。这个是IOCP远程控制软件的...

    vc++ 应用源码包_5

    代码里用了备份dll的方法,因此在自定义的函数中可以直接调用在内存中备份的dll代码,而不需要再把函数头部改来改去。 IOCP反弹远控客户端模型,外加上线服务端,全部代码注释! 如题。这个是IOCP远程控制软件的...

    python的psutil、platform、GPUtil实现的系统和硬件信息检测工具源代码

    通过platform库,可以获取操作系统的名称、版本、架构等信息,帮助用户更好地了解当前系统的配置和环境。platform库还可以获取Python解释器的信息,如Python版本、编译器等,有助于编写更具可移植性的代码。GPUtil是...

    JAVA上百实例源码以及开源项目

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道VB...

    Java开发技术大全(500个源代码).

    代码范例列表 第1章 示例描述:本章演示如何开始使用JDK进行程序的开发。 HelloWorldApp.java 第一个用Java开发的应用程序。 firstApplet.java 第一个用Java开发的Applet小程序。 firstApplet.htm 用来装载...

    java源码包2

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道...

    黑马程序员 安卓学院 万元哥项目经理 分享220个代码实例

    |--图片之获取SD卡所有及边界可调及压缩和软引用和内存回收 |--图片的LRU算法内存保存和读取 |--图片的缩放处理(防内存溢出) |--多媒体应用设计图 |--多线程下载 |--多线程下载及断点续传 |--多线程之AsyncTask的...

    C语言实战105例 含105个源代码

    实例2 灵活使用递增(递减)操作符 5 实例3 算术运算符计算器 7 实例4 逻辑运算符计算器 9 实例5 IP地址解析 11 实例6 用if…else语句解决奖金发放问题 13 实例7 用for循环模拟自由落体 16 实例8 用while...

    vc++ 开发实例源码包

    代码里用了备份dll的方法,因此在自定义的函数中可以直接调用在内存中备份的dll代码,而不需要再把函数头部改来改去。 IOCP反弹远控客户端模型,外加上线服务端,全部代码注释! 如题。这个是IOCP远程控制软件的...

    若干源程序资料12.rar

    2012-06-11 21:15 6,669,174 C语言常用算法集(人手一份).pdf 2012-06-11 21:44 2,279 C语言编一个程序完成64位数据(无符号)的加法,减法运算.txt 2012-06-11 21:43 1,480,155 Direct3D加载3d文件.rar 2012-06-11 ...

    windows驱动开发技术详解-part2

     本章围绕着驱动程序中的内存操作进行了介绍。在驱动程序开发中,首先要注意分页内存和非分页 内存的使用。同时,还需要区分物理内存地址和虚拟内存地址这两个概念。  5.1 内存管理概念  5.1.1 物理内存概念...

    Windows驱动开发技术详解的光盘-part1

     本章围绕着驱动程序中的内存操作进行了介绍。在驱动程序开发中,首先要注意分页内存和非分页内存的使用。同时,还需要区分物理内存地址和虚拟内存地址这两个概念。  5.1 内存管理概念  5.1.1 物理内存概念...

    java范例开发大全源代码

     实例154 使用静态成员变量计算内存中实例化的对象数目 239  实例155 实现加减乘除的方法 240  8.3 面向对象的设计模式 241  实例156 Singleton单例模式 242  实例157 招聘(简单工厂模式) 243  ...

    Lerx网站管理系统 v2.6.2.zip

    Lerx网站管理系统更新说明: 1.代码结构化梳理。 2.修复一些错误和需要改进的地方。 3.增加速度开关。如果你的服务器内存较大,请将配置文件 resourcesApplication_zh_CN.properties 中的...同类推荐:站长常用源码

Global site tag (gtag.js) - Google Analytics