Java实现简单文件过滤器功能

代码思路:

想要循环遍历文件夹下所有子文件夹,就要用到递归。

首先判断路径是否存在:

  是:获取文件

    判断是否文件夹:

      是:调用自身,继续获取子文件夹下内容

      否:判断文件后缀,符合则输出

  否:输出提示

package com.hanqi.maya.util;
import java.io.File;
import java.util.Scanner;
public class TestGuolv {
  public static void main(String[] args) {
    Scanner sc=new Scanner(System.in);
    System.out.println("请输入要查找的路径");
    String s=sc.nextLine();
    File file =new File(s);
    filesum(file,1);
  }
  public static void filesum(File f,int len){
    if(f.exists()){//判断路径是否存在
      File[] files=f.listFiles(); //获取路径下的文件名
      for(File fi:files){ //循环输出文件名
        if(fi.isDirectory()){ //判断是否文件夹
          printBlank(len);
          System.out.println(fi.getName()+"文件夹");
          filesum(fi,len+1); //继续调用自身
        }else{
          printBlank(len); //输出空格
          if(fi.getName().endsWith(".java")){//如果是文件则 判断是否“.java”后缀,是则输出
            System.out.println(fi.getName());
          }
        }
      }
    }else{
      System.out.println("文件不存在!!!");
    }
  }

  public static void printBlank(int len){
    for (int i = 0; i < len; i++) {//输出. 以区分文件夹层次
      System.out.print(". ");
    }

  }
}

总结与问题:

昨天学到输出文件夹下所有文件,今天稍作改动变成了找出文件夹下指定后缀的文件。

又因为输出的时候没有层次,所以写了个循环用来在输出的文件前面加空格以便层次分明,再后来发现空格对汉字的层次不够分明,遇到汉字会缩进几个空格,但是用符号就不会这样。

还有如何控制指定后缀名的问题没有解决。

以上这篇Java实现简单文件过滤器功能就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • java并发访问重复请求过滤问题

    问题描述 前段时间遇到个问题,自己内部系统调用出现重复请求导致数据混乱. 发生条件:接受到一个请求,该请求没有执行完成又接受到相同请求,导致数据错误(如果是前一个请求执行完成,马上又接受相同请求不会有问题) 问题分析:是由于数据库的脏读导致 问题解决思路 1.加一把大大的锁 (是最简单的实现方式,但是性能堪忧,而且会阻塞请求) 2.实现请求拦截 (可以共用,但是怎么去实现却是一个问题,怎么用一个优雅的方式实现,并且方便复用) 3.修改实现 (会对原有代码做改动,存在风险,最主要的是不能共用) 最

  • java过滤html标签获取纯文本信息的实例

    如下所示: package com.lyt.base.util; import java.util.regex.Pattern; public class FilterHtmlUtil { public static String Html2Text(String inputString){ String htmlStr = inputString; //含html标签的字符串 String textStr =""; java.util.regex.Pattern p_script;

  • Java实现DFA算法对敏感词、广告词过滤功能示例

    一.前言 开发中经常要处理用户一些文字的提交,所以涉及到了敏感词过滤的功能,参考资料中DFA有穷状态机算法的实现,创建有向图.完成了对敏感词.广告词的过滤,而且效率较好,所以分享一下. 具体实现: 1.匹配大小写过滤  2.匹配全角半角过滤  3.匹配过滤停顿词过滤.  4.敏感词重复词过滤. 例如: 支持如下类型类型过滤检测: fuck 全小写 FuCk 大小写 fuck全角半角 f!!!u&c ###k 停顿词 fffuuuucccckkk 重复词 敏感词过滤的做法有很多,我简单描述我现在理

  • 基于java servlet过滤器和监听器(详解)

    1 过滤器 1.过滤器是什么? servlet规范当中定义的一种特殊的组件,用于拦截容器的调用. 注:容器收到请求之后,如果有过滤器,会先调用过滤器,然后在调用servlet. 2.如何写一个过滤器? 1.写一个java类,实现Filter接口; 2.在接口方法中实现拦截方法; 3.配置过滤器(web.xml); 3.配置初始化参数 1.配置初始化参数.(init-param) 2.通过filterconfig提供的getinitparamenter方法读取初始化的值. 4.优先级: 当有多个过

  • Java编程实现基于用户的协同过滤推荐算法代码示例

    协同过滤简单来说是利用某兴趣相投.拥有共同经验之群体的喜好来推荐用户感兴趣的信息,个人通过合作的机制给予信息相当程度的回应(如评分)并记录下来以达到过滤的目的进而帮助别人筛选信息,回应不一定局限于特别感兴趣的,特别不感兴趣信息的纪录也相当重要. 协同过滤又可分为评比(rating)或者群体过滤(social filtering)协同过滤以其出色的速度和健壮性,在全球互联网领域炙手可热 UserCF的核心思想即为根据用户数据模拟向量相似度,我们根据这个相似度,来找出指定用户的相似用户,然后将相似用

  • JavaWeb Servlet中Filter过滤器的详解

    JavaWeb Servlet中Filter过滤器的详解 1.简述 Filter过滤器,对web服务器所有web资源进行过滤,从而实现一些特殊的功能(权限访问控制.过滤敏感词汇.压缩响应信息).Filter能够对Servlet容器的请求和响应进行检查和修改,其本身不能生成请求request和响应response,只提供过滤作用(Servlet被调用之前检查Request对象修改其相关信息,Servlet被调用后检查Response修改其相关信息),Filter对象常驻服务器. 2.Lifecyc

  • Java Web实现session过期后自动跳转到登陆页功能【基于过滤器】

    本文实例讲述了Java Web实现session过期后自动跳转到登陆页功能.分享给大家供大家参考,具体如下: 通过过滤器的方式实现 session过期后自动跳转到登陆页 过滤器只在与servlet规范2.3版兼容的服务器上有作用.如果你的Web应用需要支持旧版服务器,就不能使用过滤器. 一.建立基本过滤器 建立一个过滤器涉及下列五个步骤: 1)建立一个实现Filter接口的类SessionFilter .这个类需要三个方法,分别是:doFilter.init和destroy.doFilter方法

  • Java实现简单文件过滤器功能

    代码思路: 想要循环遍历文件夹下所有子文件夹,就要用到递归. 首先判断路径是否存在: 是:获取文件 判断是否文件夹: 是:调用自身,继续获取子文件夹下内容 否:判断文件后缀,符合则输出 否:输出提示 package com.hanqi.maya.util; import java.io.File; import java.util.Scanner; public class TestGuolv { public static void main(String[] args) { Scanner

  • Android编程实现简单文件浏览器功能

    本文实例讲述了Android编程实现简单文件浏览器功能.分享给大家供大家参考,具体如下: 运行效果: 布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:lay

  • 基于Java实现Avro文件读写功能

    目录 模式(schema) 与其他系统的比较 Java客户端实现 定义一个schema 使用Java代码生成插件生成的User类进行序列化和反序列化 在不生成User类的情况下直接进行序列化和反序列化操作 总结 Apache Avro是一个数据序列化系统.具有如下基本特性: 丰富的数据结构.一种紧凑.快速的二进制数据格式.一个容器文件,用于存储持久数据.远程过程调用 (RPC).与动态语言的简单集成. 代码生成不需要读取或写入数据文件,也不需要使用或实现 RPC 协议. 代码生成作为一种可选的优

  • Java实现简单银行ATM功能

    本文实例为大家分享了Java实现简单银行ATM功能的具体代码,供大家参考,具体内容如下 实现功能 1.用户需要通过输入银行卡号和密码才能进入ATM系统 2.用户可以在ATM中实现取款.存款.转账.余额查询.退出系统等功能 简单分析 1.创建User类(cardNo,identity,phone,username,password,balance(余额)) 2.创建Bank类,主要实现初始化用户.用户登录.显示菜单.取款.存款.转账.余额查询.退出系统等功能. 代码实现 User.java pub

  • 用Java实现简单ATM机功能

    本文实例为大家分享了Java实现简单ATM机功能的具体代码,供大家参考,具体内容如下 项目介绍 基于大家使用银行卡在ATM机取款操作,进行相对应ATM机操作流程的实现. 项目功能 1.注册功能: 根据用户输入的账号密码申请一张银行卡,存储在银行卡类型的数组中(一张银行卡对应一个有效用户). 2.登录功能: 登陆失败:重新登陆 或 注册登陆成功:对登陆的这张银行卡可以进行一下操作:存款.取款.查余额.转账.退卡功能. 项目知识点 3.java基本语法的使用4.一维数组5.函数调用,封装6.Java

  • Java实现简单邮件发送功能

    本文实例为大家分享了Java实现简单邮件发送的具体代码,供大家参考,具体内容如下 需要的jar包: activation-1.1.1.jar mail-1.4.7.jar QQ邮箱设置开启POP3/SMTP服务,并获得授权码 java实现简单邮件发送 import com.sun.mail.util.MailSSLSocketFactory; import javax.mail.*; import javax.mail.internet.InternetAddress; import javax

  • java实现简单日期计算功能

    本文讲的java日期计算比较偏,用到的地方很少(比如获取今天所在周的周一或者周日,获取今天是本月的第几周...),这些方法是以前做项目遗留下来的,现在整理一下,跟大家分享. 工具类主要有一下方法: public static Date getFirstMondayOfMonth(String dateString, String dateFormat) throws Exception 获取指定月份的第一个星期一,比如2014-12 月的第一个周一是2014-12-01 public stati

  • Java实现简单密码加密功能

    本文实例为大家分享了Java实现简单密码加密案例,供大家参考,具体内容如下 需求: 首先将一组数据倒序,然后将每位数字都加上5,再用和除以10的余数代替该数字, 最后将第一位和最后一位数字交换. 请任意给定一个小于8位的整数, 然后,把加密后的结果在控制台打印出来. 分析: 1.数据小于8位数 2.数据倒序 3.每位数字都加上5,再用和除以10的余数代替该数字 4.最后将第一位和最后一位数字交换 5.打印输出 代码实现: public class Encrypt{ public static v

  • 基于java实现简单发红包功能

    本文实例为大家分享了java实现简单发红包的具体代码,供大家参考,具体内容如下 这个案例是普通红包,均分的,不是拼手气红包. package nuc.edu.day01.demo05; /** * @author Administrator * 用户类 */ public class User { private String name; private Double money; public User() { } //显示当前余额 public void show(){ System.out

  • java实现简单的验证码功能

    最近要做一个网站,要求实现验证码程序,经过不断调试,终于成功实现功能. 一.验证码生成类 生成验证码的话需要用到java的Graphics类库,画出一个验证码 废话不多说,直接上代码 package verificationCode; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.awt.image.Re

随机推荐