本帖最后由 刘凯 于 2013-2-22 16:26 编辑
- 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.isDirctory())
- count = delete(file.getAbsoluteFile(),count);
- else // 这里为什么我用else就不能执行下边大括号的代码 ,而这里换为 if(file.isFile()) 就可以执行
- {
- System.out.println(file.getName());
- if(file.getName().endsWith(".class")||file.getName().endsWith(".bak"))
- {
- System.out.println("删除 ..."+file.getName());
- file.delete();
- count++;
- }
- }
- }
- }
- return count;
- }
- }
复制代码 写了个小程序 想删除E:\java0216文件夹下所有.class和.java.bak文件
如上编代码注释处,用if(file.isFile())来判断就可以执行括号中的代码 换做else就执行不到 括号中的代码。 也就是说 这里else下的代码执行不到
求大神指教 为什么?
|