android开发相关文件类的处理工具类:

 package com.gzcivil.utils;

 import java.io.File;
import java.util.ArrayList;
import java.util.List; import android.os.Environment;
import android.os.StatFs; import com.gzcivil.entity.FileEntity; /**
* SDcard 相关处理
*
* @author LiJinlun
*
*/
public class FileUtils { /**
* 获取指定文件夹 所有文件
* @param Path
* @param Extension
* @param IsIterative
* @return
*/
public static List<FileEntity> GetFiles(String Path, String Extension, boolean IsIterative) // 搜索目录,扩展名(判断的文件类型的后缀名),是否进入子文件夹
{
List<FileEntity> mlist = new ArrayList<FileEntity>();
if (mlist != null && mlist.size() > 0)
mlist.clear();
File[] files = new File(Path).listFiles();
if (files != null) {
for (int i = 0; i < files.length; i++) {
File f = files[i];
if (f.isFile()) {
if (f.getPath().substring(f.getPath().length() - Extension.length()).equals(Extension)) // 判断扩展名
{
FileEntity fileEnt = new FileEntity();
fileEnt.setNewName(f.getName());
fileEnt.setFileSize(CommonUtil.FormetFileSize(f.length()));
fileEnt.setFilePath(f.getPath()); mlist.add(fileEnt);
}
if (!IsIterative)
break; // 如果不进入子集目录则跳出
} else if (f.isDirectory() && f.getPath().indexOf("/.") == -1) // 忽略点文件(隐藏文件/文件夹)
GetFiles(f.getPath(), Extension, IsIterative); // 这里就开始递归了
} }
return mlist;
} /**
* sdcard 是否存在
*
* @return
*/
public static boolean ExistSDCard() {
if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) {
return true;
} else
return false;
} /**
* sdcard 剩余空间
*
* @return
*/
public static long getSDFreeSize() {
// 取得SD卡文件路径
File path = Environment.getExternalStorageDirectory();
StatFs sf = new StatFs(path.getPath());
// 获取单个数据块的大小(Byte)
@SuppressWarnings("deprecation")
long blockSize = sf.getBlockSize();
// 空闲的数据块的数量
@SuppressWarnings("deprecation")
long freeBlocks = sf.getAvailableBlocks();
// 返回SD卡空闲大小
// return freeBlocks * blockSize; //单位Byte
// return (freeBlocks * blockSize)/1024; //单位KB
return (freeBlocks * blockSize) / 1024 / 1024; // 单位MB
} /**
* sdcard 总容量
*
* @return
*/
public static long getSDAllSize() {
// 取得SD卡文件路径
File path = Environment.getExternalStorageDirectory();
StatFs sf = new StatFs(path.getPath());
// 获取单个数据块的大小(Byte)
@SuppressWarnings("deprecation")
long blockSize = sf.getBlockSize();
// 获取所有数据块数
@SuppressWarnings("deprecation")
long allBlocks = sf.getBlockCount();
// 返回SD卡大小
// return allBlocks * blockSize; //单位Byte
// return (allBlocks * blockSize)/1024; //单位KB
return (allBlocks * blockSize) / 1024 / 1024; // 单位MB
} // 将SD卡文件夹里文件删除
public static void deleteFile(File file) {
if (file.exists()) {
if (file.isFile()) {
return;
} else if (file.isDirectory()) {
// 如果它是一个目录
// 声明目录下所有的文件 files[];
File files[] = file.listFiles();
for (int i = 0; i < files.length; i++) { // 遍历目录下所有的文件
deleteFile(files[i]); // 把每个文件 用这个方法进行迭代
}
}
file.delete();
}
} /**
* 删除单个文件
*
* @param file
*/
public static void deleteSingleFile(File file) {
if (file.exists()) {
if (file.isFile()) {
file.delete();
}
}
}
}

最新文章

  1. SpringMVC(二) SpringMVC Hello World
  2. Codeforces Round #211 (Div. 2) D题(二分,贪心)解题报告
  3. 关于sass的介绍和基本语法
  4. 控件(弹出类): ToolTip, Popup, PopupMenu
  5. 使得&lt;li&gt;在一行显示,去除浮动的方法
  6. 转载 《AngularJS》5个实例详解Directive(指令)机制
  7. MVC+Ef项目(2) 如何更改项目的生成顺序;数据库访问层Repository仓储层的实现
  8. 《CSAPP》读书杂记 - Chapter 2. Representing and Manipulating Information
  9. 2015傅富泰写——STRING权
  10. eclipse注释模板设置(未整理)
  11. sql server中部分函数功能详解
  12. 微信企业号接收消息(使用SpringMVC)
  13. The First of my text
  14. Git通过密钥对远程仓库上传和更新详细操作
  15. js 3d图形
  16. python 操作mongo
  17. 第一章:模型层model layer -- Django从入门到精通系列教程
  18. [Hbase]Hbase章1 Hbase框架及基本概念
  19. linux 操作 mysql 指定端口登录 以及启动 停止
  20. Python爬虫实战:2017中国最好大学排名

热门文章

  1. INSERT INTO blog_appitem (user_id,appid,app_secret,is_valid) VALUES (1, 'wxf415741de036114c','48e1e345fd5f11c93af18ff1714c7f78',1)
  2. redhat 安装virtualbox
  3. python sqlite 查询表的字段名 列名
  4. iOS10隐私设置及相应问题
  5. MapReduce工作机制
  6. Jam&#39;s math problem(思维)
  7. docker相关配置
  8. C#整理7——函数
  9. RSA不对称加密,公钥加密私钥解密,私钥加密公钥解密
  10. hibernate 之 HQL语句总结【转】