Løsningsforslag - oppgaver i Vedlegg A.6.1


Oppgave 4

  File mappe = new File("Temp");  // ny mappe
  System.out.println(mappe.getCanonicalPath());  // C:\NetBeans\AlgDat\Temp
  System.out.println(mappe.getParent());
  mappe.mkdir();
  System.out.println(mappe.getParent());
  mappe = mappe.getAbsoluteFile();
  System.out.println(mappe.getParent());

Oppgave 5

  File mappe = new File("C:/NetBeans/AlgDat");
  FilenameFilter filter = (m, n) -> Character.isUpperCase(n.charAt(0));
  for (File fil : mappe.listFiles(filter)) System.out.println(fil);

Oppgave 6

  public static void skrivFil(File mappe)
  {
    for (File fil : mappe.listFiles())
    {
      System.out.println(fil);
      if (fil.isDirectory()) skrivFil(fil);
    }
  }

  public static void main(String[] args) throws IOException
  {
    File mappe = new File("C:/NetBeans/AlgDat");
    skrivFil(mappe);
  }

Klassen Files har en ferdig metode for dette:

public static void main(String[] args) throws IOException
{
  File mappe = new File("C:/NetBeans/AlgDat");
  Stream<Path> s = Files.walk(mappe.toPath());
  s.forEach(p -> System.out.println(p));
  s.close();
}

Oppgave 7 a)

  Path vei = (new File("C:/NetBeans/AlgDat/fil.txt")).toPath();
  System.out.println(vei.getRoot());             // C:\
  for (Path p : vei) System.out.print(p + " ");  // NetBeans AlgDat fil.txt
  System.out.println("\n" + vei.getNameCount());

Oppgave 7 b)

  File mappe = new File("Temp");  // en relativ File
  mappe = mappe.getAbsoluteFile();
  Path p = mappe.toPath();
  int antall = p.getNameCount();
  for (int i = 0; i < antall; i++) System.out.print(p.getName(i) + " ");

Oppgave 7 c)

  File mappe = new File("Temp");  // en relativ File
  Path p = mappe.toPath();
  System.out.println(p.isAbsolute());

Oppgave 8

  File mappe = new File("C:/NetBeans/AlgDat/Temp");  // ny mappe
  URL url1 = mappe.toURI().toURL();
  System.out.println(url1);  // file:/C:/NetBeans/AlgDat/Temp

  Path vei = mappe.toPath();
  URL url2 = vei.toUri().toURL();
  System.out.println(url2);  // file:/C:/NetBeans/AlgDat/Temp