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实现简单文件过滤器的更多相关文章
- java学习笔记(2):获取文件名和自定义文件过滤器
//自定义文件过滤器import java.io.File; import javax.swing.filechooser.*; public class JavaChooser extends Fi ...
- [JAVA] 一个可以编辑、编译、运行Java简单文件的记事本java实现
本来是Java课做一个仿windows记事本的实验,后来突然脑子一热,结果就给它加了一个编译运行Java文件的功能. 本工程总共大约3000行代码,基本上把所学的java界面.文件.控件的功能都包含在 ...
- 【Java】 实现一个简单文件浏览器(1)
学习Java的Swing的时候写的一个超简单文件浏览器 效果如图: 项目结构: 这里面主要用了两个控件,JTree和JTable 下面先说下左侧的文件树如何实现: 首先是FileTree类,继承于JT ...
- java文件过滤器的使用
前言: java.io.FileFilter(过滤器接口)boolean accept(File pathname) File类提供了如下方法使用过滤器:public File[] listFiles ...
- java 文件过滤器
创建文件过滤器 MyFilter ,实现 FileFilter 接口,实现 accept() 方法: package com.test.IODemo1; import java.io.File; im ...
- java基础 File与递归练习 使用文件过滤器筛选将指定文件夹下的小于200K的小文件获取并打印按层次打印(包括所有子文件夹的文件) 多层文件夹情况统计文件和文件夹的数量 统计已知类型的数量 未知类型的数量
package com.swift.kuozhan; import java.io.File; import java.io.FileFilter; /*使用文件过滤器筛选将指定文件夹下的小于200K ...
- java文件操作和文件过滤器
文件操作 java提供了File类来供我们操作文件,FIle是文件或文件夹的抽象表示,也就是对象表示.总结了几个常用的方法 File(File parenrt,String child).FIle(S ...
- Java 之 文件过滤器
在学习过滤器之前,先来做一个案例. 题目:文件搜索,搜索 D:\java 目录中 .java 文件. 分析: 1. 目录搜索,无法判断多少级目录,使用递归,遍历所有目录 2. 遍历目录时,获取的子 ...
- java中把文件拷贝到指定目录下最简单几种方法
java中把文件拷贝到指定目录下最简单几种方法 String savePath = "D:/file";// 文件保存到d盘的file目录下 File savefile = n ...
随机推荐
- nginx之 nginx-1.9.7 + tomcat-8.5.15 反向代理+应用负载均衡 安装配置
环境说明:nginx 反向代理服务器 ip 为: 10.219.24.26tomcat1 应用服务器 ip 为: 10.219.24.21tomcat3 应用服务器 ip 为: 10.219.24.2 ...
- IOS机型margin属性无效问题
这个问题很多小伙伴都有遇到,这次本猿也遇到了,记录一笔. 结论:简单的解决办法margin换padding!如有误,请大神不吝赐教.在Chrome浏览器移动端测试iphone5,打开的也是没问题的(这 ...
- arcgis api for js入门开发系列九热力图效果
上一篇实现了demo的聚合效果,本篇新增热力图效果,截图如下: 热力图效果实现的思路如下: 1.map.js初始化函数调用聚合效果的js接口,map.heatmap.js实现聚合核心效果的js文件 / ...
- 类型转换之 PropertyEditorSupport类
这个类可以用于自定义的类型转换, 子类继承这个类之后可以重写子类的方法 ,其中比较重要的是setAsText和setValue方法,setAsText 子自己的方式处理转换,setValue将转换的结 ...
- 解决yii框架,gii脚手架不能使用。
应用场景 把代码转移到线上服务器时,GII.BUG工具不正常使用,但在本地服务器是正常的. 分析原因 Yii框架在使用GII 和BUG 时,会针对访问IP地址拦截,没有在配置中设置的IP地址是会默认被 ...
- alt和title的区别与用法
alt和title的是我们工作中经常用到这两个属性,但是一直没有总结他们的区别.现在就对他们两个的用法做一下总结.相同点:他们都会飘出一个小浮层,显示文本内容.不同点:1.alt只能是元素的属性,而t ...
- ajax数据请求2(json格式)
ajax数据请求2(json格式) <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...
- Example016实现下拉框
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- JQuery实战——页面进度条效果
今早逛阮一峰大神的博客 ECMAScript 6 入门 时候看到页面顶部有个进度条显示当前浏览的进度,如图: 顶部进度条会根据当前页面高度进行宽度调整,实战一番,视觉使用animated方法实现.下面 ...
- 第一个spark+scala程序
import org.apache.spark._import SparkContext._import java.util.{Calendar,Properties,Date,Locale}impo ...