Zdravím. Možná se toto téma zde už někde vyskytlo, ale potřeboval
bych, aby se mi výpis adresářů a všech podadresářů zarovnal podle
úrovní. Za případné návrhy děkuji.
class DirectoryFilter implements FileFilter {
@Override
publicboolean accept(File f) {
return f.isDirectory();
}
}
publicclass Application {
publicstaticvoid main(String[] args) {
najdiAdresare("C:/Users/Tom/Desktop/slozka");
}
publicstaticvoid najdiAdresare(String path) {
File file = new File(path);
if (!file.exists()) {
najdiAdresare(JOptionPane.showInputDialog(null, "Zadejte nový název:",
"Neplatný název adresáře", JOptionPane.INFORMATION_MESSAGE));
} else {
if (file.isFile())
najdiAdresare(JOptionPane.showInputDialog(null, "Zadejte nový název:",
"Cesta obsahuje soubor, ne adresář!", JOptionPane.INFORMATION_MESSAGE));
else
printAll(file, 0);
}
}
privatestaticvoid printAll(File file, int lvl) {
for (File f : file.listFiles(new DirectoryFilter())) {
for (int i = 0; i < lvl; i++)
System.out.print(" ");
System.out.println(f.getName());
if (f.listFiles(new DirectoryFilter()).length > 0)
printAll(f, ++lvl);
}
}
}
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.