package file;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class fileDelete {
static String flg1 = “f1”;
static String flg2 = “f2”;
static List strList;
static long suc = 0;
static long fail = 0;
public static void main(String[] args) {
deleteFile();
}
public static void deleteFile() {
System.out.print("输入文件的路径:");
Scanner in = new Scanner(System.in);
String path = in.nextLine();
duoJiDelete(path, true);
}
/*
* delete file
* @path 文件了路径
* @b true 删除该路径下的所有文件,包括机自己
* false 删除该路径下的所有子文件
*/
private static void duoJiDelete(String path, boolean b) {
File f = new File(path(path));
if (b) {
delete(f);
} else {
String[] s = f.list();
strList = new ArrayList<String>();
for (int i = 0; i < s.length; i++) {
delete(new File(path(path) + "//" + s[i]));
}
}
if (flg1.equals("suc") && flg2.equals("f2")) {
System.out.println("delete success!!!");
System.out.println("成功删除 " + suc + " 件。");
} else {
int hang = 1;
System.out.println("成功删除 " + suc + " 件,删除失败 " + fail + " 件。");
for (String str : strList) {
System.out.println("删除失败 " + hang + ":" + str);
hang++;
}
}
}
private static String path(String path) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < path.length(); i++) {
if (String.valueOf(path.charAt(i)).equals("\\")) {
sb.append("//");
} else {
sb.append(path.charAt(i));
}
}
return sb.toString();
}
private static boolean delete(File f) {
boolean b = true;
if (f.isDirectory()) {
String[] s = f.list();
for (int i = 0; i < s.length; i++) {
delete(new File(f, s[i]));
}
}
System.out.println("正在删除 :" + f.getAbsolutePath());
b = f.delete();
if (!b) {
System.out.println(f.getAbsolutePath() + " :delete fail");
strList.add(f.getAbsolutePath() + " :delete fail");
fail++;
flg2 = "fail";
} else {
flg1 = "suc";
suc++;
}
return b;
}
}