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. 忽略警告@SuppressWarnings的用法

    @SuppressWarnings注解用法 @SuppressWarnings注解主要用在取消一些编译器产生的警告对代码左侧行列的遮挡,有时候这会挡住我们断点调试时打的断点. 我们可以在方法上加上@S ...

  2. SpringBoot+SpringCloud+vue+Element开发项目——集成Swagger文档

    在pom.xml文件中添加Maven依赖 <!--swagger--> <dependency> <groupId>io.springfox</groupId ...

  3. Computer Vision_33_SIFT: A novel point-matching algorithm based on fast sample consensus for image registration——2015

    此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面.对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多的文献.有一些刚刚出版的 ...

  4. kubernetes-使用kubeadm部署kubernetes集群

    k8s官网介绍 Kubernetes是一个可移植的,可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化.它拥有一个庞大且快速增长的生态系统.Kubernetes的服务,支持和工 ...

  5. 在vue中使用jsx语法

    什么是JSX? JSX就是Javascript和XML结合的一种格式.React发明了JSX,利用HTML语法来创建虚拟DOM.当遇到<,JSX就当HTML解析,遇到{就当JavaScript解 ...

  6. Andrew Ng机器学习 四:Neural Networks Learning

    背景:跟上一讲一样,识别手写数字,给一组数据集ex4data1.mat,,每个样例都为灰度化为20*20像素,也就是每个样例的维度为400,加载这组数据后,我们会有5000*400的矩阵X(5000个 ...

  7. 钉钉、阿里云和PaaS平台的整合开发

    钉钉在企业移动办公领域有着很高的占有率,但是可能大家都会觉得,他在企业定制化,数据分析等领域有着很大的短板. 而我们的kintone作为PaaS平台,可以补足这个短板.很多开发者想知道如何利用钉钉还有 ...

  8. 看看赤裸的envoy是什么样子的?

    入门istio,envoy现在看来必不可少,花点时间了解一下吧. Envoy 是什么 我们援引一段官网的描述: Envoy is an L7 proxy and communication bus d ...

  9. java 第九次作业

    一.题目:利用接口和接口回调,实现简单工厂模式,当输入不同的字符,代表相应图形时,利用工厂类获得图形对象,再计算以该图形为底的柱体体积. 二.代码 /* 5个形状类分别调用Shape接口: 柱体类中, ...

  10. faster-rcnn在ubuntu16.04环境下的超级详细的配置(转)

    首先,下载好必须要的安装包.为了方便,我已经全部上传在了百度云. - ubuntu16.04系统 链接:http://pan.baidu.com/s/1geU8piz 密码:25mk - cuda8. ...