lab11 2


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 lab11
Lab1 1 R1 lab11
Lab1 1 SW2 lab11
lab11
lab11
BBR2 lab11
lab11
iewb rs v4 00 lab11
lab11 (3)
lab11 3
Lab11 Firewalls VPN
lab11 2
lab11 Nowy Dokument tekstowy
i2 lab11
AiP Lab11
lab11
JP LAB11

więcej podobnych podstron