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. 【转载】 C#中使用CopyTo方法将List集合元素拷贝到数组Array中

    在C#的List集合操作中,有时候需要将List元素对象拷贝存放到对应的数组Array中,此时就可以使用到List集合的CopyTo方法来实现,CopyTo方法是List集合的扩展方法,共有3个重载方 ...

  2. js数据类型及判断数据类型

    众所周知,js有7种数据类型 1. null 2. undefined 3. boolean 4. number 5. string 6. 引用类型(object.array.function) 7. ...

  3. Oracle 创建与管理用户

    标识用户是 Oracle 数据库管理的基本要求之一,每一个能够连接到数据库的用户都必须是系统的合法用户.用户想要使用 Oracle 的系统资源,就必须拥有相应的权限. 一.身份验证 Oracle 为用 ...

  4. CentOS - 查看操作系统版本

    cat /etc/redhat-release 参考: https://www.cnblogs.com/baby123/p/6962398.html

  5. 几种常见的Preference总结

    DialogPreference共性 DialogPreference通用属性 说明 android:dialogIco 对话框的icon android:dialogLayout dialog的co ...

  6. python(函数调用)

    1.在原文件中调用 def abc(x,y): print x + y abc(2,3) #直接通过函数名加括号进行调用传参 2.同一个包(package)下面调用不同文件中的函数 "&qu ...

  7. [ipsec][strongswan] strongswan源码分析--(五)plugin的配置文件的添加方法与管理架构解析

    前言 我们知道,strongswan是基于插件式管理的.不同的插件有不同的配置文件,在这下面, 我们以netlink的插件为例:etc/strongswan.d/charon/kernel-netli ...

  8. Docker初识笔记

    Docker docker说白了就是:环境打包 我们能用docker什么? 1.如果配置好本地的linux环境交接给其他人,很麻烦,交接时要告诉他,装这个装那个,还可能出现问题,那我直接把这个环境放到 ...

  9. 01 浅谈c++及面向对象编程

    参考链接: 学习完c++但是对c++面向对象编程还是比较模糊,现在花时间总体来总结一下: c++中的对象是使用类来定义的,下面先重点讲一下类的概念. 说到类就要先说一下类的三种特性:封装,继承,多态. ...

  10. python get/post接口使用

    背景: 使用python调用get post接口,入参.出参都需要转换,在使用时经常会忘记其中的一步,本文用来记录,后面再使用时直接参考使用 代码如下 post: headers = {'Conten ...