Java中有一个FilenameFilter的接口,能够过滤得到指定类型的文件或者目录,其中必须重写accept(File file,String path)方法。
本次以.txt文件格式为例,过滤指定文件目录下的.txt文件。
实例代码如下:
package file;
import java.io.File;
import java.io.FilenameFilter;
/
* FilenameFilter文件过滤器
*/
public class FileTest {
public static void main(String[] args) {
//创建指定目录的文件对象
File file = new File("D:\\编程代码"); //指定操作路径
String[] files = file.list(new MyFilenameFilter());
for(String str : files){
System.out.println(str); //打印所有.txt文件名称
}
System.out.println("--------------------\n");
File[] files2 = file.listFiles(new MyFilenameFilter());
for(File tem : files2){
System.out.println(tem); //打印所有.txt文件路径
}
}
}
class MyFilenameFilter implements FilenameFilter{
@Override
public boolean accept(File dir, String name) {
// 判断是否是以指定格式结尾的
if(name.endsWith(".txt")){
return true;
}
return false;
}
}
程序运行结果:
1.txt
2.txt
English.txt
FileIoHomework01.txt
王尼玛.txt
--------------------
D:\编程代码\1.txt
D:\编程代码\2.txt
D:\编程代码\English.txt
D:\编程代码\FileIoHomework01.txt
D:\编程代码\王尼玛.txt