import java.io.*;
class DeleteClass
{
public static void main(String[] args)
{
File dir = new File("E:\\java0216");
int count = 0;
count = delete(dir,count);
System.out.println("共删除"+count+"个文件");
}
public static int delete(File dir,int count)
{
File[] files = dir.listFiles();
if(files!=null)
{
System.out.println(files.length);
for(File file : files)
{
if(file.isAbsolute())
count = delete(file.getAbsoluteFile(),count);
if(file.isFile())
// else // 这里为什么我用else就不能执行大括号的代码 ,而换为if(file.isFile()) 就可以执行
{//如果你这儿加else的话. 就有可能出现这种情况. for循环结束之前if判断都成功,在用else就不会执行到, 假如用if的话, 每次都要判断./其余的就不解释了
System.out.println(file.getName());
if(file.getName().endsWith(".class")||file.getName().endsWith(".bak"))
{
System.out.println("删除 ..."+file.getName());
file.delete();
count++;
}
}
}
}
return count;
}
} |