zoukankan      html  css  js  c++  java
  • 列出指定目录下的文件

    public class ListFile
    {
        static class MyFileNameFilter implements FilenameFilter//过滤文件用
        {
            private String suffix = ".txt";
     
            public MyFileNameFilter(String str)
            {
                this.suffix = str;
            }
     
            public boolean accept(File dirFile, String name)
            {
                if (new File(dirFile, name).isFile())
                    return name.endsWith(suffix);
                else
                    return true;
            }
     
        }
     
        public static void listAllFiles(String dirName)
        {
            if (!dirName.endsWith(File.separator))
                dirName += File.separator;
            File dirFile = new File(dirName);
            if (!dirFile.exists() || !dirFile.isDirectory())
            {
                System.out.println("List失败找不到目录:" + dirName);
                return;
            }
            File[] files = dirFile.listFiles();//不带参数的列出文件或目录的方法
            for (int i = 0; i < files.length; i++)
            {
                if (files[i].isFile())
                    System.out.println(files[i].getAbsolutePath() + "是文件");
                else if (files[i].isDirectory())
                {
                    System.out.println(files[i].getAbsolutePath() + "是目录");
                    ListFile.listAllFiles(files[i].getAbsolutePath());
                }
            }
        }
     
        public static void listFilesByFilenameFilter(FilenameFilter filter, String dirName)
        {
            if (!dirName.endsWith(File.separator))//是否以 结尾
                dirName += File.separator;
            File dirFile = new File(dirName);
            if (!dirFile.exists() || (!dirFile.isDirectory()))
            {
                System.out.println("List 失败,找不到目录:" + dirFile.getAbsolutePath());
                return;
            }
            File[] files = dirFile.listFiles(filter);//带参数的    参数是实现 FilenameFilter的方法
            for (int i = 0; i < files.length; i++)
            {
                if (files[i].isFile())
                    System.out.println(files[i].getAbsolutePath() + "是文件");
                else if (files[i].isAbsolute())
                {
                    System.out.println(files[i].getAbsolutePath() + "是目录");
                    ListFile.listFilesByFilenameFilter(filter, files[i].getAbsolutePath());
                }
            }
        }
     
     
     
        public static void main(String[] args)
        {
            String dirName = "C:/temp";
            System.out.println(dirName + "目录下的内容");
            ListFile.listAllFiles(dirName);
            System.out.println("过滤后的内容");
            MyFileNameFilter fileter = new MyFileNameFilter(".txt");
            ListFile.listFilesByFilenameFilter(fileter, dirName);
            System.out.println(File.separator);
     
        }
     
    }
    梦里不知身是客,一晌贪欢。
  • 相关阅读:
    浏览器的跨域请求 与 CORS(跨域资源共享)
    HTML 占位符
    C# 中的 base和this
    推荐一个pdf引擎
    整理wifi相关的知识点
    交叉编译(ISC)DHCP:dhcp-4.3.0b1
    (转载)子网掩码,网关的概念
    海思-VB被占用导致vb无法去初始化
    c++创建文件时重命名同名文件
    iw创建虚拟网卡wlan1,ap_sta共存
  • 原文地址:https://www.cnblogs.com/dccmmtop/p/5709958.html
Copyright © 2011-2022 走看看