|
|
@ -251,4 +251,73 @@ public class FilesUtils {
|
|
|
|
public static byte[] readAllBytes(String file) {
|
|
|
|
public static byte[] readAllBytes(String file) {
|
|
|
|
return readAllBytes(new File(file));
|
|
|
|
return readAllBytes(new File(file));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static boolean delete(File file) {
|
|
|
|
|
|
|
|
if (!file.exists()) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
if (file.isFile())
|
|
|
|
|
|
|
|
return deleteSingleFile(file);
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
return deleteDirectory(file.getAbsolutePath());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private static boolean deleteSingleFile(File file) {
|
|
|
|
|
|
|
|
// 如果文件路径所对应的文件存在,并且是一个文件,则直接删除
|
|
|
|
|
|
|
|
if (file.exists() && file.isFile()) {
|
|
|
|
|
|
|
|
if (file.delete()) {
|
|
|
|
|
|
|
|
// Log.e("--Method--", "Copy_Delete.deleteSingleFile: 删除单个文件" + filePath$Name + "成功!");
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** 删除目录及目录下的文件
|
|
|
|
|
|
|
|
* @param filePath 要删除的目录的文件路径
|
|
|
|
|
|
|
|
* @return 目录删除成功返回true,否则返回false
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
private static boolean deleteDirectory(String filePath) {
|
|
|
|
|
|
|
|
// 如果dir不以文件分隔符结尾,自动添加文件分隔符
|
|
|
|
|
|
|
|
if (!filePath.endsWith(File.separator))
|
|
|
|
|
|
|
|
filePath = filePath + File.separator;
|
|
|
|
|
|
|
|
File dirFile = new File(filePath);
|
|
|
|
|
|
|
|
// 如果dir对应的文件不存在,或者不是一个目录,则退出
|
|
|
|
|
|
|
|
if ((!dirFile.exists()) || (!dirFile.isDirectory())) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
boolean flag = true;
|
|
|
|
|
|
|
|
// 删除文件夹中的所有文件包括子目录
|
|
|
|
|
|
|
|
File[] files = dirFile.listFiles();
|
|
|
|
|
|
|
|
for (File file : files) {
|
|
|
|
|
|
|
|
// 删除子文件
|
|
|
|
|
|
|
|
if (file.isFile()) {
|
|
|
|
|
|
|
|
flag = deleteSingleFile(file);
|
|
|
|
|
|
|
|
if (!flag)
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// 删除子目录
|
|
|
|
|
|
|
|
else if (file.isDirectory()) {
|
|
|
|
|
|
|
|
flag = deleteDirectory(file
|
|
|
|
|
|
|
|
.getAbsolutePath());
|
|
|
|
|
|
|
|
if (!flag)
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!flag) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// 删除当前目录
|
|
|
|
|
|
|
|
if (dirFile.delete()) {
|
|
|
|
|
|
|
|
// Log.e("--Method--", "Copy_Delete.deleteDirectory: 删除目录" + filePath + "成功!");
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|