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);
     
        }
     
    }
    梦里不知身是客,一晌贪欢。
  • 相关阅读:
    .NET基础知识之七——索引器
    安装Sql Server 2008的时候报错说找不到某个安装文件
    安装Sql Server 2008时出错
    英文操作系统奇怪的问题
    装虚拟机后一部分磁盘空间消失
    服务器允许两台电脑远程登录一个账户
    Linq工具篇(1)——使用LinqPad
    ExtJs工具篇(1)——在Aptana3中安装ExtJS 代码提示插件
    SQL基础(三)-- SQL根据”,“分割字符串
    SQL基础(四)-- SQL连接时去掉重复数据
  • 原文地址:https://www.cnblogs.com/dccmmtop/p/5709958.html
Copyright © 2011-2022 走看看