Java实现简单文件过滤器
时间:2022-04-29
本文章向大家介绍Java实现简单文件过滤器,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
输入路径查找该路径下的指定文件类型的文件
代码思路:
想要循环遍历文件夹下所有子文件夹,就要用到递归。
首先判断路径是否存在:
是:获取文件
判断是否文件夹:
是:调用自身,继续获取子文件夹下内容
否:判断文件后缀,符合则输出
否:输出提示
1 package com.hanqi.maya.util;
2
3 import java.io.File;
4 import java.util.Scanner;
5
6 public class TestGuolv {
7 public static void main(String[] args) {
8 Scanner sc=new Scanner(System.in);
9 System.out.println("请输入要查找的路径");
10 String s=sc.nextLine();
11 File file =new File(s);
12 filesum(file,1);
13 }
14 public static void filesum(File f,int len){
15
16 if(f.exists()){//判断路径是否存在
17 File[] files=f.listFiles(); //获取路径下的文件名
18 for(File fi:files){ //循环输出文件名
19 if(fi.isDirectory()){ //判断是否文件夹
20 printBlank(len);
21 System.out.println(fi.getName()+"文件夹");
22 filesum(fi,len+1); //继续调用自身
23 }else{
24 printBlank(len); //输出空格
25 if(fi.getName().endsWith(".java")){//如果是文件则 判断是否“.java”后缀,是则输出
26 System.out.println(fi.getName());
27 }
28 }
29 }
30 }else{
31 System.out.println("文件不存在!!!");
32 }
33 }
34
35 public static void printBlank(int len){
36 for (int i = 0; i < len; i++) {//输出. 以区分文件夹层次
37 System.out.print(". ");
38 }
39
40 }
41 }
总结与问题:
昨天学到输出文件夹下所有文件,今天稍作改动变成了找出文件夹下指定后缀的文件。
又因为输出的时候没有层次,所以写了个循环用来在输出的文件前面加空格以便层次分明,再后来发现空格对汉字的层次不够分明,遇到汉字会缩进几个空格,但是用符号就不会这样。
还有如何控制指定后缀名的问题没有解决。
路漫漫其修远兮。
- 理解js中的原型链,prototype与__proto__的关系
- 拼图游戏和它的AI算法
- Mysql存储过程从0开始(上)
- 使用Visual Studio 2013进行单元测试--初级篇
- forever让nodejs应用后台执行
- 三分钟理解“装饰模式”——设计模式轻松掌握
- 想玩集群?读写分离?你要先懂这个!
- 三分钟理解“状态模式”——设计模式轻松掌握
- JS生成UUID
- Mysql性能优化之开启Mysql慢查询日志
- 三分钟理解“命令模式”——设计模式轻松掌握
- 把表单转成json,并且name为key,value为值
- PHP经典面试题目汇总(上篇)
- 横向滑动的HorizontalListView滑动指定位置的解决方法
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Xinetd服务的安装与配置详解
- redis实战第七篇 使用redis工具(redis-cli)搭建redis cluster
- 使用ROS2机器人操作系统进行多机器人编程技术实践(Multi-Robot Programming Via ROS2 )
- 自动化运维实践 | Ansible playbook重用
- 手把手教你打造高效的 Kubernetes 命令行终端
- docker save load export import的区别
- 使用ABAC控制数据访问
- linux 压力测试工具之ab
- 什么是Python Wheels?为什么要关心它?
- Nginx fastcgi_cache权威指南
- 玩转dockerfile
- redis实战第六篇 手动创建redis cluster
- docker容器入门最佳教程
- redis实战第五篇 jedis 连接 redis sentinel详解
- redis实战第四篇 手动容灾故障转移记录