public class FileUtils {
/**
* 删除文件夹下的所有文件或者某一个文件
* @param name 文件名,若为null,删除目录下所有文件
* @param str
*/
public static void deleteFile(String name,String... str) {
try {
if (! exists(name,str)){
return;
}
File file = createFile(name,str);
if (!TextUtils.isEmpty(name)){
file.delete();
return;
}
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++) {
if (!files[i].isDirectory()) {
files[i].delete();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 创建文件夹或者文件
* @param name 文件名
* @param str 文件各级目录
* @return
*/
public static File createFile(String name, String... str) {
File folder = new File(getFilePath(str));
if (!folder.exists()) {
folder.mkdirs();
}
return TextUtils.isEmpty(name) ? folder : new File(folder, name);
}
/**
* 判断文件夹或者文件是否存在
* @param name 文件名
* @param str 文件各级目录
*/
public static boolean exists(String name,String... str){
String path = getFilePath(str);
return TextUtils.isEmpty(name) ? new File(path).exists():new File(path,name).exists();
}
/**
* 将每级目录名拼接成文件夹目录
* @param str 文件各级目录
*/
public static String getFilePath(String... str){
StringBuffer sb = new StringBuffer();
if (str == null) {
throw new RuntimeException("文件目录不能为null");
}
for (int i = 0; i < str.length; i++) {
sb.append(str[i] + File.separator);
}
return sb.toString();
}
}