listvisitor.java

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

JAVA
21
字号
import java.util.Iterator;

public class ListVisitor extends Visitor {
    private String currentdir = "";                         // 目前所在的目录名称
    public void visit(File file) {                  // 访问文件时即调用
        System.out.println(currentdir + "/" + file);
    }
    public void visit(Directory directory) {   // 访问目录时即调用
        System.out.println(currentdir + "/" + directory);
        String savedir = currentdir;
        currentdir = currentdir + "/" + directory.getName();
        Iterator it = directory.iterator();
        while (it.hasNext()) {
            Entry entry = (Entry)it.next();
            entry.accept(this);
        }
        currentdir = savedir;
    }
}

⌨️ 快捷键说明

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