4032c4571d75001d1dddb6604daa6ad2

来自「java程序设计教程的源码」· 代码 · 共 25 行

TXT
25
字号
/*【例4-27】  参数匿名类的应用。以实现java.io.FilenameFilter接口
 * 的参数匿名类的实例作为java.io.File类的实例方法“public String[] list(FilenameFilter filter)”
 * 的实参,返回包含在目录中的由指定过滤器FilenameFilter所过滤的文件和目录名称。
 */
//程序清单4-27:  ParameterAnonymousClass.java
package e4_27;
import java.io.*;
public class ParameterAnonymousClass {
	public static void main(String[] args) {
		// 创建指定目录的File实例directory
		File directory = new File("E:/JPT/JBuilder2007/CH04/src/e4_27/");
// 调用File类的list()方法时,会自动调用FilenameFilter接口中的方法accept()
// 定义实现接口FilenameFilter的参数匿名类,并创建实例作为调用list()方法的实参
		String[] filelist = directory.list(new FilenameFilter() {
			public boolean accept(File directory, String filename) {
				// 过滤后得到扩展为“.java”的所有文件
				return filename.endsWith(".java");
			}
		});// 此处的分号不能少
		for (int i = 0; i < filelist.length; i++) {// 输出
			System.out.println(filelist[i]);
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?