1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| package eternal.fire;
import java.io.File; import java.util.Objects;
public class FileStructure { private File path;
public FileStructure(File path) { this.path = path; }
public void handle(Visitor visitor) { scan(path, visitor); }
private void scan(File file, Visitor visitor) { if (file.isDirectory()) { visitor.visitDir(file); for (File f : Objects.requireNonNull(file.listFiles())) { scan(f, visitor); } } else if (file.isFile()) { visitor.visitFile(file); } } }
|