以下程序实现遍历指定目录下所有扩展名为“.java”的文件,请补全程序代码。 import java.io.File; import java.io.FilenameFilter; public class Test { public static void main(String[] args) (1) Exception { File file = new File("C:\\Users\\Lenovo\\Desktop\\Test"); // 创建过滤器对象 FilenameFilter filter = new (2) { // 实现accept()方法 public boolean accept(File dir , String name) { File currFile = new File(dir , name); // 如果文件名以.java结尾返回true,否则返回false if (currFile.isFile() && name. (3) ) { return true; } else { return false; } } }; if ( (4) ) { // 判断File对象对应的目录是否存在 String[] lists = file.list(filter); //获得过滤后的所有文件名数组 for (String name : (5) ) { System.out.println(name); } } } }
时间: 2024-02-10 08:16:41 浏览: 113
补全后的程序代码如下:
```java
import java.io.File;
import java.io.FilenameFilter;
public class Test {
public static void main(String[] args) throws Exception {
File file = new File("C:\\Users\\Lenovo\\Desktop\\Test");
// 创建过滤器对象
FilenameFilter filter = new FilenameFilter() {
// 实现accept()方法
public boolean accept(File dir, String name) {
File currFile = new File(dir, name);
// 如果文件名以.java结尾返回true,否则返回false
if (currFile.isFile() && name.endsWith(".java")) {
return true;
} else {
return false;
}
}
};
if (file.exists()) { // 判断File对象对应的目录是否存在
String[] lists = file.list(filter); //获得过滤后的所有文件名数组
for (String name : lists) {
System.out.println(name);
}
}
}
}
```
程序中,创建了一个File对象,表示指定目录下的文件夹。然后创建了一个FilenameFilter对象filter,重写其accept()方法,实现对指定扩展名的文件的过滤条件。
接着判断指定目录是否存在,如果存在则调用File的list()方法获得指定目录下所有文件名的数组。然后使用foreach循环遍历数组,输出每个文件名。
阅读全文