如何得到某个盘符下如d:\目录下下面所有以.gif为扩展名的文件列表!

解决方案 »

  1.   

    File file = new File("d:\\mm");file.listFiles(new FilenameFilter() {    bool accept(String fileName) {
            if fileName.endWith(".gif") return true;
            return false;
        }
    })
      

  2.   

    To:healer_kx(正统的...小明) 
    你说的代码应该是这样的吧~File[] filelist = f.listFiles(new FileFilter() {            public boolean accept(File f) {
                    if (f.getName().endsWith(".gif")) return true;
                    return false;
                }
            });-------------------------------------------------------
    我是这样写的,麻烦点儿~
    import java.io.File;
    import java.io.FileFilter;public class ExtensionFileFilter implements FileFilter {
        private String extension;    public ExtensionFileFilter(String extension) {
            this.extension = extension;
        }    public boolean accept(File file) {
            if (file.isDirectory()) {
                return false;
            }
            String name = file.getName();
            // find the last
            int index = name.lastIndexOf(".");
            if (index == -1) {
                return false;
            } else if (index == name.length() - 1) {
                return false;
            } else {
                return this.extension.equals(name.substring(index + 1));
            }
        }
    }
    ---------------------------------------------
    import java.io.File;public class FileListTest {
        /**
         * @param args
         */
        public static void main(String[] args) {
            File f = new File("D:\\My Documents\\My Pictures");
            File[] filelist = f.listFiles(new ExtensionFileFilter("gif"));        for (int i = 0; i < filelist.length; i++) {
                System.out.println(filelist[i]);
            }
        }
    }
      

  3.   

    package findFile;import java.io.File;
    import java.io.FileFilter;
    import java.util.ArrayList;
    import java.util.List;public class FindAllGIF {

    public void getAllGIF(File file,List gifList){
    File[] allfile = file.listFiles();
    File[] fileList = file.listFiles(new Myfnf("gif"));
    for (int i = 0; i < fileList.length; i++) {
    gifList.add(fileList[i].getPath());
    }
    for (int i = 0; i < allfile.length; i++) {
    if(allfile[i].isDirectory()){
    getAllGIF(allfile[i],gifList);
    }
    }
    }
    public static void main(String[] args) {
    FindAllGIF fag = new FindAllGIF();
    List list = new ArrayList();
    fag.getAllGIF(new File("f:/test"),list);
    System.out.println(list);
    System.out.println(list.size());
    }

    class Myfnf implements FileFilter{ private String name;
    public Myfnf(String name){
    this.name = name;
    }
    public boolean accept(File dir) {
    if(dir.isDirectory())
    return false;
    String fileName = dir.getName();
    if(fileName.indexOf(".") == -1)
    return false;
    else if(fileName.indexOf(".") == (fileName.length() - 1))
    return false;
    else
    return name.equals(fileName.substring(fileName.indexOf(".")+1).toLowerCase());
    }

    }}
      

  4.   

    to willishz(光与影的奇迹)
    是的,谢谢你写的这么全,其实Filter那里就用一个匿名类足够了。
      

  5.   

    File file = new File("d:\\mm");file.listFiles(new FilenameFilter() {
        bool accept(String dir, String fileName) {
            return fileName.endWith(".gif");
        }
    });
      

  6.   

    return name.toLowerCase().endsWith(".gif");
    要不.GIF .Gif都不可以了btw LZ是不是有很多mm的照片啊?
      

  7.   

    hehe~ healer_kx(正统的天降甘草(小名甘草):我说的是另外一个小明) ( ) 信誉:100    Blog 说的很正确!