public class TestFile {
  public static void main(String [] args) {
  //遍历文件夹中文件名称,若文件夹中还存有文件夹,递归读取文件夹名称
    File file = new File("D:\\javafile"); //假设文件保存在D:\\javafile中
    new TestFile().show(file);
  }

  public void show(File file) {
    File[] files = file.listFiles();
    for(File fs : files) {
      System.out.println(fs.getName());
      if(fs.isDirectory()) {
        show(fs);
      }
    }
  }
}

//使用内部类过滤文件

public class TestFile{
  public static void main(String [] args) {
    File file = new File("D:\\javafile");
    new TestFile().show(file);
  }

  public void show(File file) {
    File [] files = file.listFiles();

    for(File fs : files) {
      if(new MyFilenameFilter().accept(fs, fs.getName())) {
        System.out.println(fs.getName());
      }
    }
  }

  //在TestFile类的内部,定义MyFilenameFilter类,实现FilenameFilter过滤器的方法
  class MyFilenameFilter implements FilenameFilter{
    public boolean accept(File file, String name) {
    

    //假设在D:\\javafile文件夹内部保存有.txt格式的文件

    if(name.endsWith(".txt")) {
        return true;
      }
      return false;
    }
  }
}

//使用匿名内部类过滤文件

public class TestFile{
  public static void main(String [] args) {
    File file = new File("D:\\javafile");
    new TestFile().show(file);
  }

  public void show(File file) {

     //红色部门极为匿名内部类部分
    File [] files = file.listFiles(new FilenameFilter(){
      @Override
      public boolean accept(File file, String name) {
        if(name.endsWith(".txt")) {
          return true;
        }
        return false;
      }
    });

    for(File fs : files) {
      System.out.println(fs.getName());
    }
  }
}

java使用递归遍历文件,使用内部类过滤文件,使用匿名内部类过滤文件的更多相关文章

  1. Java 之递归遍历目录

    Java 之递归遍历目录 一.内容 输出指定目录(文件夹)下的所有文件(包括目录)的绝对路径 二.源代码:RecursiveListDirectory.java package cn.com.zfc. ...

  2. Java之递归遍历目录,修改指定文件的指定内容

    EditProperties.java package PropertiesOperation.Edit; import java.io.File; /** * 替换指定Porpoerties文件中的 ...

  3. java 二叉树递归遍历算法

    //递归中序遍历 public void inorder() { System.out.print("binaryTree递归中序遍历:"); inorderTraverseRec ...

  4. Python递归遍历《指定目录》下的所有《文件》

    https://www.cnblogs.com/dreamer-fish/p/3820625.html

  5. Java File类应用:递归遍历文件夹和递归删除文件

    要求: 1)采用递归遍历文件夹下的所有文件,包括子文件夹下的文件 2)采用递归删除文件下的所有文件 注意: 以下递归删除文件的方法,只能删除文件,所有的文件夹都还会存在 若要删除正文文件夹,可以在递归 ...

  6. Java中递归的优缺点,Java写一个递归遍历目录下面的所有文件包括子文件夹里边的文件。

    题目: 遍历出aaa文件夹下的文件 首先分析思路: 1.首先判断这个文件夹是否为文件,通过isFile()函数可以判断是否为文件. 2.然后通过isDirectory判断是否为目录. 3.如果是目录就 ...

  7. Java 文件夹递归遍历

    import java.io.File; public class Demo1 { public static void main(String[] args) { File dir=new File ...

  8. [19/03/29-星期五] IO技术_File(文件)类(可操作文件,不能操作其里边内容,位于Java.io 包中)&递归遍历

    一.概念 java.io.File类:代表文件和目录. 在开发中,读取文件.生成文件.删除文件.修改文件的属性时经常会用到本类. 以pathname为路径创建File对象,如果pathname是相对路 ...

  9. Java 合并多个文件内容到一个文件(递归遍历某个文件夹下所有文件)

    这段代码通过Java I/O流API实现将多个文件合并到一个文件中,输出为文本文件,提供一个支持语法高亮的网站,http://www.codeinword.com/ 适合粘贴代码到word文档,小巧实 ...

随机推荐

  1. CSS关于选择器和继承的一些小问题:

    选择器的分组 对选择器进行分组,这样在同一组的选择器就可以分享相同的声明.使用逗号将需要分组的选择器分开 h1,h2,h3,h4,h5{ color:green; font-family:" ...

  2. 爬虫之PyQuery的base了解

    爬虫之PyQuery的base了解 pyquery库是jQuery的Python实现,能够以jQuery的语法来操作解析 HTML 文档,易用性和解析速度都很好,和它差不多的还有BeautifulSo ...

  3. Qt环境搭建

    下载 qtcreator:http://download.qt.io/official_releases/qtcreator/ 编译器(mingw):http://download.qt.io/dev ...

  4. Spring事务传播机制与隔离机制

    详情查看 https://www.jianshu.com/p/249f2cd42692

  5. Jmeter 中正则表达式提取器Regular Expression Extractor

    正则表达式提取器点击后置处理器中Post Processors 中的正则表达式提取器 Regular Expression Extractor Appy to: 表示作用于哪一个请求Main samp ...

  6. 32位JVM和64位JVM的最大堆内存分别是多数?32位和64位的JVM,int类型变量的长度是多数?

    理论上说上 32 位的 JVM 堆内存可以到达 2^32,即 4GB,但实际上会比这个小很多.不同操作系统之间不同,如 Windows 系统大约 1.5 GB,Solaris 大约 3GB.64 位 ...

  7. 用 Python 加密文件

    生活中,有时候我们需要对一些重要的文件进行加密,Python 提供了诸如 hashlib,base64 等便于使用的加密库. 但对于日常学习而言,我们可以借助异或操作,实现一个简单的文件加密程序,从而 ...

  8. Linux命令基础3-cd命令

    cd 到带空格的文件夹 [root@cctg-sjc16-grafana ccatgbld]# cd 'my test' [root@cctg-sjc16-grafana my test]# cd . ...

  9. Django上传文件和修改date格式

    上传大文件的时候: 修改date数据:

  10. Linux系统 安装JDK和tomcat

    下载文件路径包: http://archive.apache.org/dist/ 首先将软件包上传到/tmp目录下 需要文件如下 jdk-8u60-linux-x64.gz apache-tomcat ...