获得指定文件目录晓得文件名和目录名,以及过滤

来源:互联网 发布:indexof 数组 编辑:程序博客网 时间:2024/05/21 21:42
package org.java.io;

import java.io.File;
import java.io.FilenameFilter;

public class FileListTest {

    public static void main(String[] args) {
        //getList();
        getFilterFile();
    }
    /****获得文件下的所有目录和文件的名称*/
    public static void getList(){
        //File.separator文件分隔符,跨平台
        File file=new File("E:"+File.separator+"my_files");
        //File file=new File("E:\\my_files");
        String[] names=file.list();
        for (String name: names) {
            System.out.println("name:="+name);
        }
    }
    /**过滤文件*/
    public static void getFilterFile(){
        File file=new File("E:"+File.separator+"my_files");
        System.out.println("----------过滤之前的文件--------------");
        String[] names=file.list();
        for (String name : names) {
            System.out.println("name:"+name);
        }
        
        
        //getFilterFile是一个接口,这里使用匿名内部类
        String[] fiters=file.list(new FilenameFilter() {
            
            /**dir:是要过滤的文件目录,name:是要过滤的文件名
             * accept是根据返回的boolean来过滤的,return false过滤全部
             */
            public boolean accept(File dir, String name) {
                System.out.println("dir:="+dir+"....."+"name:="+name);
                /*if(name.endsWith(".pdf"))
                    return true;
                else
                return false;*/
                /**这样过滤以后,就只有.pdf的文件存在了*/
                return name.endsWith(".pdf");
            }
        });
        
        System.out.println("-----------------过滤之后的文件----------------");
        for (String s : fiters) {
        System.out.println("fileName:="+s);    
        }
    }
}


原创粉丝点击