package pl.laboratorium;
import java.io.File;
import java.io.FilenameFilter;
import java.util.Random;
public class Recursion {
//Ścieżka do katalogu z projektem
private static final String path = "C:\\Users\\W7HP\\Documents\\NetBeansProjects\\Laboratorium 11\\";
private void testRecursion(String path) throws Exception
{
Random r = new Random();
//Tworzymy plik w katalogu głównym projektu
File f = new File("X" + r.nextInt(10) + ".tmp");
//Jeśli dany plik nie istnieje
if (!f.exists()) {
f.createNewFile();
}
String dir = "X" + r.nextInt(5);
//Tworzymy przykładowy katalog
if (new File(path + dir).mkdir()) {
System.out.println("Tworzenie katalogu " + dir + " zakończone powodzeniem");
} else {
System.err.println("Katalog " + dir + " już istnieje");
}
//Tworzymy w nim plik
f = new File(dir + "\\X" + r.nextInt(10) + ".tmp");
if (!f.exists()) {
f.createNewFile();
}
}
private void show(String path) throws Exception
{
File f = new File(path);
//Tworzymy listę plików
File[] list = f.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.startsWith("X");
}
});
if (list == null) return;
//Rozpoczynamy iterację
for (File file : list) {
//Jeśli trafiliśmy na katalog
if (file.isDirectory()) {
//Pobieramy jego ścieżkę i wyświetlamy pliki rekurencyjnie
show(file.getAbsolutePath());
} else if (file.isFile()) {
//Wyświetlamy plik
System.out.println(file.getPath());
}
}
}
public static void main(String[] args) throws Exception
{
Recursion r = new Recursion();
r.testRecursion(path);
r.show(path);
}
}
Wyszukiwarka
Podobne podstrony:
Lab1 1 R3 lab11Lab1 1 R1 lab11Lab1 1 SW2 lab11lab11lab11BBR2 lab11lab11iewb rs v4 00 lab11lab11 (3)lab11 3Lab11 Firewalls VPNlab11 2lab11 Nowy Dokument tekstowyi2 lab11AiP Lab11lab11JP LAB11więcej podobnych podstron