黑马程序员技术交流社区

标题: 用String[] list(FilenameFilter filter) 方法,习题求解 [打印本页]

作者: 夏的四季    时间: 2014-2-24 11:20
标题: 用String[] list(FilenameFilter filter) 方法,习题求解
本帖最后由 夏的四季 于 2014-2-24 11:50 编辑
  1. import java.io.*;
  2. class FileListDemo
  3. {
  4. public static void main(String[] args)
  5. {
  6. listDemo();
  7. }
  8. public static void listDemo()
  9. {
  10. File f = new File("D:\\java001\\day19");

  11. String[] name = f.list(".java");
  12. for(File name : names)
  13. {
  14. System.out.println(name);
  15. }
  16. }
  17. }
复制代码

方法获取指定文件夹中所有java文件怎么做,我所写的有问题,
帮我指出和重新编写下代码
谢谢

作者: qqwwdr    时间: 2014-2-24 11:34
  1. import java.io.*;

  2. class FileListDemo {
  3.         public static void main(String[] args) {
  4.                 listDemo();
  5.         }

  6.         public static void listDemo() {
  7.                 File f = new File("D:\\Download\\java_test");

  8.                 File[] files = f.listFiles();
  9.                 for (File file : files) {
  10.                         if(file.getName().endsWith(".java")){
  11.                                 System.out.println(file.getName());
  12.                         }
  13.                 }
  14.         }
  15. }
复制代码


我把路径修改成了我自己的路径

作者: 李白衣    时间: 2014-2-24 11:44
String[] list(FilenameFilter filter)  
你应该传递一个文件名过滤器,可以采用匿名内部类的方式:
如下:
  1. String[] names = file.list(new FilenameFilter(){

  2.                         @Override
  3.                         public boolean accept(File dir, String name) {
  4.                                 // TODO Auto-generated method stub
  5.                                 if(name.endsWith(".java"))
  6.                                         return true;
  7.                                 return false;
  8.                         }
  9.                        
  10.                 });
复制代码

作者: qqwwdr    时间: 2014-2-24 11:47
李白衣 发表于 2014-2-24 11:44
String[] list(FilenameFilter filter)  
你应该传递一个文件名过滤器,可以采用匿名内部类的方式:
如下: ...

用文件名过滤器  来封装判断,这样显得 程序更严谨,顶一个




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2