filefindvisitor.java

来自「<设计模式-Java语言中的应用> 的源码」· Java 代码 · 共 27 行

JAVA
27
字号
import java.util.Iterator;
import java.util.Vector;

public class FileFindVisitor extends Visitor {
    private String filetype;
    private Vector found = new Vector();
    public FileFindVisitor(String filetype) {           // 赋值时在副文件名前加上.,如".txt"
        this.filetype = filetype;
    }
    public Iterator getFoundFiles() {                   // 取得找到的文件
        return found.iterator();
    }
    public void visit(File file) {                  // 访问文件时即调用
        if (file.getName().endsWith(filetype)) {
            found.add(file);
        }
    }
    public void visit(Directory directory) {   // 访问目录时即调用
        Iterator it = directory.iterator();
        while (it.hasNext()) {
            Entry entry = (Entry)it.next();
            entry.accept(this);
        }
    }
}

⌨️ 快捷键说明

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