File类中的listFile方法还可使用文件过滤器

摘要:
####综合案例####文件搜索搜索:D:全部。developerHoll目录```javapublicstaticvoidgetAllTxt(Filedir){File[]files=dir.listFiles();//遍历(Filefile:files){if(File.isDirectory()){getAllTxt(File);}否则{//如果(

#### 综合案例

#### 文件搜索

搜索:D:DeveloprHoll目录中的所有.txt文件

```java
public static void getAllTxt(File dir){
File[] files = dir.listFiles();
//遍历
for (File file : files) {
if(file.isDirectory()){
getAllTxt(file);
}else{
//获取文件的名称 链式编程
if(file.getName().toLowerCase().endsWith(".txt")){
System.out.println(file);
}
}

}

```

#### 文件过滤器优化

java.io.FileFilter 是一个接口,是一个File的过滤器,改接口的对象可以传递给File类的list的listFiles(File Filter)作为参数,接口当中只有一个方法:

boolean accept(File pathname):测试pathname是否应该包含在当前的file目录中:如果符合返回true,

实现或者使用匿名内部类重写FileFilter,重定义accept方法的过滤规则

```java
public class Demo06Recursion implements FileFilter {
public boolean accept(File pathname) {
if (pathname.isDirectory()){
return true;
}
return pathname.getName().toLowerCase().endsWith(".txt");//所有的都不满足
}
}
||
new FileFilter(){
@Override
public boolean accept(File pathname) {
if (pathname.isDirectory()){
return true;
}
return pathname.getName().toLowerCase().endsWith(".txt");//所有的都不满足
}
}
```

然后我们我们来使用该过滤器,

1.先获取一个目录

2.使用该目录来调用过滤器

```java
File file = new File("D:\Developr\Holl")//使用File类来映射了一个文件
File[] files = dir.listFiles(new Demo06Recursion());//对该文件如果有子目录就把他的子目录放入一个File数组,再哟弄这个数组调用上面重写的过滤器
for (File file : files) {//遍历
if(file.isDirectory()){//如果文件的子文件还是目录就递归重新再判断并过来输出
getAllTxt(file);
}else{//如果是文件就直接输出
System.out.println(file.getName());
}
}

免责声明:文章转载自《File类中的listFile方法还可使用文件过滤器》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇selenium从入门到应用iperf下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

influxdb简单使用

之前对influxdb有一个简单的了解和入门的使用,近期由于想使用influxdb做一点东西玩玩,又要捡起influxdb。而在influxdb下没有细分的表的概念,influxdb下的表在插入数据库的时候自动会创建。更多用户权限设置可以参看官方文档:https://docs.influxdata.com/influxdb/v1.0/query_langua...

MIPS学习笔记(一)

本章涉及MIPS变量声明、数据输入和输出、地址获取、分支跳转语句,基本上对应于任何高级语言的最基本操作。该信息的确切形式因汇编程序而异。在MIPS程序集中,标签是后跟冒号的符号名称。)syscall程序的结尾与C类似,可以调用exit函数来停止程序的执行。停止MIPS程序的一种方法是使用类似于在C中调用exit的方法。MIPS中有一个移动指令,它将一个寄存器...

windows server2012 nVME和网卡等驱动和不识别RAID10问题

安装2012--不识别M.2nVME,下载官方驱动程序,并将其注入没有多个驱动程序的系统--添加ITSK通用驱动程序:|Win8012R2.x64网卡驱动程序无法打开--提取官方驱动程序EXE文件以添加网卡驱动程序不识别SATARAID10--超过2T,最大Legacy为2T。...

sqlserver 计算 百分比

selectltrim+'%'As百分比NUMERIC(P,S)P的默认值是:38S的默认值是:-84~127numeric(a,b)函数有两个参数,前面一个为总的位数,后面一个参数是小数点后的位数,例如numeric(5,2)是总位数为5,小数点后为2位的数,也就是说这个字段的整数位最大是3位。...

【JVM】元空间详解 Metaspace

nocs。JpgNoKlassisMetaspaceNoKlassinMetaspaces专用于存储其他与klass相关的内容,如方法、常量池等。它可以由多个不连续的存储器组成。在元空间GC之后,还将调整阈值。默认情况下,MaxMetaspaceSize基本上是无限的,因为大多数元空间都是在本地内存中分配的,但它仍然受到本地内存大小的限制。为了防止元空间的无...