Панель инструментов в стиле iGoogle с использованием jquery

Вы можете использовать File#isDirectory() , чтобы проверить, является ли данный файл (путь) каталогом. Если это true, вы снова вызываете тот же метод с его результатом File#listFiles() .

public static void main(String... args) {
    File[] files = new File("C:/").listFiles();
    showFiles(files);
}

public static void showFiles(File[] files) {
    for (File file : files) {
        if (file.isDirectory()) {
            System.out.println("Directory: " + file.getName());
            showFiles(file.listFiles()); // Calls same method again.
        } else {
            System.out.println("File: " + file.getName());
        }
    }
}

Обратите внимание, что это чувствительно к StackOverflowError .

], когда дерево глубже, чем может стека JVM. Вместо этого вы можете использовать итеративный подход или хвостовую рекурсию , но это другой предмет;)

30
задан casperOne 3 June 2012 в 20:56
поделиться