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. window 命令行强制删除文件、文件夹

    1. 强制删除文件文件夹和文件夹内所有文件 rd/s/q D:\app 2. 强制删除文件,文件名必须加文件后缀名 del/f/s/q D:\app.txt

  2. curl 获取状态返回码

    [root@1708mode ~]# curl -o /dev/null -s -w "%{http_code}\n" baidu.com200 朋友问,就有了 wget 没学会& ...

  3. PXE+Kickstart无人值守安装---CentOS7.

    1.安装一台CentOS7.x桌面版本系统的服务器,关闭selinux和防火墙: 2.在服务器安装pxe+kickstart无人值守需要的软件 : yum install dhcp tftp-serv ...

  4. php 加密

    PHP 自带的加密解密函数 目前经常使用的加密函数有:md5(), sha1(), crypt(), base64_encode(), urlencode() .其中 md5(), sha1(), c ...

  5. Qt命名规范

    1) 类名:单词首字母大写,单词和单词之间直接连接,无需连接字符 如: MyClass,QPushButton class MainWindow { }; 2) 函数名字,变量名:第二个单词开始(不是 ...

  6. Centos 7 SSH 无密码登录

    需求 本人使用CENTOS7进行开发调试,所以要经常通过 SSH 连接到服务器进行应用部署与维护.所以,迫切需要有一种方法能够免密码登录到云服务器,而且随处可用. 方案 使用"公私钥&quo ...

  7. 使用SikuliX定位Object(flash)元素

    先说一下背景,这个是我们测试的系统上的一个上传文件的地方,但是用传统的selenium方法很难定位的到.具体的样子是下面这样的. 使用id等属性定位做点击操作好像不能直接操作.无奈之下,只好从网上找找 ...

  8. 《你说对就队》第八次团队作业:Alpha冲刺 第二天

    <你说对就队>第八次团队作业:Alpha冲刺 项目 内容 这个作业属于哪个课程 [教师博客主页链接] 这个作业的要求在哪里 [作业链接地址] 团队名称 <你说对就队> 作业学习 ...

  9. c# DES 加密解密方法

    #region 密钥 private static string key = "abcd1234"; //密钥(长度必须8位以上) #endregion #region DES加密 ...

  10. 找回IntelliJ IDEA中丢失的Run Dashboard视图

    一般项目中包含多个springboot项目的时候都会出现run dashboard视图,但如果一开始它提示的时候,不点击展示,就再也找不到这个视图了,给我们后续启动一个一个的启动项目带来了很大的不便, ...