android开发SDcard 响应的文件相关处理(一)
2024-09-18 02:58:39
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();
}
}
}
}
最新文章
- SpringMVC(二) SpringMVC Hello World
- Codeforces Round #211 (Div. 2) D题(二分,贪心)解题报告
- 关于sass的介绍和基本语法
- 控件(弹出类): ToolTip, Popup, PopupMenu
- 使得<;li>;在一行显示,去除浮动的方法
- 转载 《AngularJS》5个实例详解Directive(指令)机制
- MVC+Ef项目(2) 如何更改项目的生成顺序;数据库访问层Repository仓储层的实现
- 《CSAPP》读书杂记 - Chapter 2. Representing and Manipulating Information
- 2015傅富泰写——STRING权
- eclipse注释模板设置(未整理)
- sql server中部分函数功能详解
- 微信企业号接收消息(使用SpringMVC)
- The First of my text
- Git通过密钥对远程仓库上传和更新详细操作
- js 3d图形
- python 操作mongo
- 第一章:模型层model layer -- Django从入门到精通系列教程
- [Hbase]Hbase章1 Hbase框架及基本概念
- linux 操作 mysql 指定端口登录 以及启动 停止
- Python爬虫实战:2017中国最好大学排名
热门文章
- INSERT INTO blog_appitem (user_id,appid,app_secret,is_valid) VALUES (1, 'wxf415741de036114c','48e1e345fd5f11c93af18ff1714c7f78',1)
- redhat 安装virtualbox
- python sqlite 查询表的字段名 列名
- iOS10隐私设置及相应问题
- MapReduce工作机制
- Jam&#39;s math problem(思维)
- docker相关配置
- C#整理7——函数
- RSA不对称加密,公钥加密私钥解密,私钥加密公钥解密
- hibernate 之 HQL语句总结【转】