File dir = new File("D:\JavaSource");    应该是  File dir = new File("D:\\JavaSource");                          ^
FileFilterDemo.java:13: illegal start of type
        for(int I=0;I<fileList.length;I++)
        ^
FileFilterDemo.java:22: <identifier> expected
        }
         ^
 没有方法体

解决方案 »

  1.   

    这是thinking in java 里的例子,我改了一下,应该能实现你要的功能
    执行是带参数 .java 就是java DirList .java
    这是我发的第一张帖,hoho。
    import java.io.*;
    import java.util.*;
    import com.bruceeckel.util.*;public class DirList {
      public static void main(String[] args) {
        File path = new File(".");
        String[] list;
        if(args.length == 0)
          list = path.list();
        else 
          list = path.list(new DirFilter(args[0]));
       
        for(int i = 0; i < list.length; i++)
          System.out.println(list[i]);
      }
    }class DirFilter implements FilenameFilter {
      String afn;
      DirFilter(String afn) { this.afn = afn; }
      public boolean accept(File dir, String name) {
        // Strip path information:
        String f = new File(name).getName();
        return f.endsWith(afn) ;
      }
    } ///:~
      

  2.   

    jdk里有现成的
    jdk\demo\jfc\FileChooserDemo\src\ExampleFileFilter.java