import android.text.TextUtils;
import java.io.File;
import java.io.FileFilter;
import java.util.ArrayList;
public class FileUtils {
public static boolean deleteFile(String path){
if(TextUtils.isEmpty(path)){
return false;
}
File file = new File(path);
if(!file.exists()){
return false;
}
if(file.isFile()){
file.delete();
}else{
File[] files = file.listFiles();
for(File f : files){
f.delete();
}
}
return true;
}
public static boolean deleteFile(File file){
if(file == null || !file.exists()){
return false;
}
if(file.isFile()){
file.delete();
}else{
File[] files = file.listFiles();
for(File f : files){
f.delete();
}
}
return true;
}
public static boolean deleteDir(String path){
if(TextUtils.isEmpty(path)){
return false;
}
File file = new File(path);
if(!file.exists() || !file.isDirectory()){
return false;
}
File[] files = file.listFiles();
for(File f : files){
if(f.isDirectory()){
deleteDir(f);
}else {
f.delete();
}
}
return file.delete();
}
public static boolean deleteDir(File file){
if(file == null || !file.exists()){
return false;
}
if(!file.isDirectory()){
return false;
}
File[] files = file.listFiles();
for(File f : files){
if(f.isDirectory()){
deleteDir(f);
}else{
f.delete();
}
}
return file.delete();
}
public static ArrayList<String> fileFilter(String path,final String[] types){
ArrayList<String> list = new ArrayList<>();
filter(path,types,list);
return list;
}
public static ArrayList<String> fileFilter(File file,final String[] types){
ArrayList<String> list = new ArrayList<>();
filter(file,types,list);
return list;
}
private static void filter(File file,final String[] types,final ArrayList<String> list) {
if(file == null || !file.exists() || types == null){
return;
}
if (file.isDirectory()) {
File[] files = file.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
if (pathname.isDirectory()) {
filter(pathname,types,list);
} else {
for(String type : types){
if(pathname.getName().endsWith(type)){
list.add(pathname.getAbsolutePath());
}
}
return true;
}
return false;
}
});
}
}
private static void filter(String path,final String[] types,final ArrayList<String> list) {
if(TextUtils.isEmpty(path)){
return;
}
File file = new File(path);
if(!file.exists() || types == null){
return;
}
if (file.isDirectory()) {
File[] files = file.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
if (pathname.isDirectory()) {
filter(pathname,types,list);
} else {
for(String type : types){
if(pathname.getName().endsWith(type)){
list.add(pathname.getAbsolutePath());
}
}
return true;
}
return false;
}
});
}
}
}
FileUtils
最新推荐文章于 2024-08-26 20:49:22 发布