Izpitno vprašanje RAČ2PRA 2300

Iz MaFiRaWiki

Vprašanje

Sestavi program, ki izpiše seznam vseh datotek v imeniku skupaj z vsemi podimeniki. Uporabi objekte razreda File.

Odgovor

Primer programa, ki izpiše vse imenike, podimenike in datoteka za D:\Matlab\java

  1. import java.io.File;
  2.  
  3. class Pot {
  4. public static void main(String[] args) {
  5. // znak \ napišemo kot \\,ker je \ v javi rezerviran znak
  6. File file = new File("D:\\MatLab\\java");
  7. list(file);
  8. }
  9.  
  10. public static void list(File file) {
  11. if (!file.isDirectory()) {// pregledamo, če je direktorij
  12. // v primeru, da ni direktorij javi napako
  13. throw new RuntimeException("File " + file + " ni direktorij!");
  14. }
  15. // če je list direktorij, potem metoda vrne seznam tipa String, ki vsebuje
  16. // imena imenikov v tem direktoriju, sicer vrne null
  17. String[] list = file.list();
  18. // se sprehodimo po vseh
  19. for (String fileName : list) {
  20. File tmp = new File(file, fileName);
  21. // se vprašamo, če je direktorij
  22. if (tmp.isDirectory()) {
  23. // vrnemo celotno pot do imenika
  24. System.out.println("Imenik " + tmp.getAbsoluteFile());
  25. list(tmp);
  26. }
  27. else {
  28. // vrnemo celotno pot do direktorija
  29. System.out.println("Datoteka " + tmp.getAbsoluteFile());
  30. }
  31. }
  32. }
  33. }
Osebna orodja