import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class LesFraFil { // Kan oppst? feil n?r vi vil lese en fil, s?kalte "Exceptions" / "Unntak" // Det m? vi h?ndtere! Vi har to ulike m?ter: // Try-catch-blokk: public void lesFiltryCatch(String filnavn) { try { File fil = new File(filnavn); Scanner sc = new Scanner(fil); // Les filen ... sc.close(); } catch (FileNotFoundException e) { System.out.println("Fant ikke filen " + filnavn + "!"); return; } } // Throws public void lesFilThrows(String filnavn) throws FileNotFoundException { File fil = new File(filnavn); Scanner sc = new Scanner(fil); sc.close(); } // Her trengete vi ikke en try-catch-blokk, h?res veldig digg ut! // ... men vi m? uansett deale med unntaket der vi bruker/kaller p? metoden public void kallPaaLesFilThrows() { String filnavn = "filnavn.txt"; try { lesFilThrows(filnavn); } catch (FileNotFoundException e) { System.out.println("Fant ikke filen " + filnavn + "!"); } } // Les inn linje for linje (tilsvarer slik vi gj?r det i Python) public void lesFilLinjer(String filnavn) { File fil = new File(filnavn); Scanner sc; // H?ndterer unntaket try { sc = new Scanner(fil); } catch (FileNotFoundException e) { System.out.println("Fant ikke filen " + filnavn + "!"); return; } // Leser inn en fil, linje for linje while (sc.hasNextLine()) { String linje = sc.nextLine(); System.out.println(linje); } // Luker scanneren n?r jeg er ferdig, det er bra praksis sc.close(); } // Det finnes ogs? flere funksjoner tilgjengelig som dere kan bruke public void lesFilAndre(String filnavn) { File fil = new File(filnavn); Scanner sc; // H?ndterer unntaket try { sc = new Scanner(fil); } catch (FileNotFoundException e) { System.out.println("Fant ikke filen " + filnavn + "!"); return; } sc.next(); sc.nextInt(); sc.nextDouble(); sc.nextBoolean(); // og litt flere // Luker scanneren n?r jeg er ferdig, det er bra praksis sc.close(); } public void skrivTilFil() { // Bruker 'PrintWriter' // Google 'Java api 8 printwriter' og finn frem til denne siden: // https://docs.oracle.com/javase/8/docs/api/java/io/PrintWriter.html } }