Java基础知识强化之IO流笔记10:File类输出指定目录下指定后缀名的文件名称案例(File类的文件过滤器方法改进list( FilenameFilter ff))

时间:2023-03-08 21:40:31
Java基础知识强化之IO流笔记10:File类输出指定目录下指定后缀名的文件名称案例(File类的文件过滤器方法改进list( FilenameFilter  ff))

1. 案例:

判断F盘下是否有后缀名为.jpg的文件,如果有的话,就输出这个文件名。

2. 案例代码如下:

(1)思路是:先获取所有的文件和文件夹封装的对象,然后遍历的时候,依次判断,如果满足条件就输出.

 package com.himi.filesdemo;

 import java.io.File;

 /**
* 判断F盘下是否有后缀名为.jpg的文件,如果有的话,就输出这个文件名
* @author hebao
*
*/
public class FileDemo4 { public static void main(String[] args) {
//封装F盘的目录
File file = new File("F:\\");
//获取该目录下所有文件和文件夹的File数组
File[] files = file.listFiles();
//遍历上面的File[]数组
for(File f:files) {
if(f.isFile()) {
if(f.getName().endsWith(".jpg")) {
System.out.println("JPG图片文件名为:"+f.getName());
}
}
}
} }

运行效果如下:

Java基础知识强化之IO流笔记10:File类输出指定目录下指定后缀名的文件名称案例(File类的文件过滤器方法改进list( FilenameFilter  ff))

(2)思路是:获取的时候就已经满足条件了,然后输出即可.

 package com.himi.filesdemo;

 import java.io.File;
import java.io.FilenameFilter; /**
* 判断F盘下是否有后缀名为.jpg的文件,如果有的话,就输出这个文件名
*
* 思路:
* (1)先获取所有的文件和文件夹封装的对象,然后遍历的时候,依次判断,如果满足条件就输出.
* (2)获取的时候就已经满足条件了,然后输出即可.
* @author hebao
*
*/
public class FileDemo4 { public static void main(String[] args) {
//思路(1)
/*
//封装F盘的目录
File file = new File("F:\\");
//获取该目录下所有文件和文件夹的File数组
File[] files = file.listFiles();
//遍历上面的File[]数组
for(File f:files) {
if(f.isFile()) {
if(f.getName().endsWith(".jpg")) {
System.out.println("JPG图片文件名为:"+f.getName());
}
}
}
*/ //思路(2) //封装F盘的目录
File file = new File("F:\\");
//获取该目录下所有文件和文件夹的String数组
String[] strArray = file.list(new FilenameFilter() { public boolean accept(File dir, String name) {
//System.out.println(dir+"----------"+name);
File file = new File(dir,name);
boolean flag1 = file.isFile();
boolean flag2 = file.getName().endsWith(".jpg"); return flag1 && flag2;
}
}); //遍历String数组
for(String str:strArray) {
System.out.println(str);
}
} }

运行效果,如下:

Java基础知识强化之IO流笔记10:File类输出指定目录下指定后缀名的文件名称案例(File类的文件过滤器方法改进list( FilenameFilter  ff))