import java.io.*; import java.util.*; public class LesFil{ File fil; LesFil(String filnavn){ fil = new File(filnavn); } public Savanne lesFil() throws FileNotFoundException{ Savanne nySavanne = new Savanne(); Scanner sc = new Scanner(fil); String line = sc.nextLine(); boolean done = false; while(!done){ System.out.println(line); if(line == null){ System.out.println("Ferdig aa lese fil"); return nySavanne; } if(line.startsWith("#")){ System.out.println(line.substring(1)); switch (line.substring(1)){ case "gaselle": line = leggTilGaselle(sc, nySavanne); break; case "gnu": line = leggTilGnu(sc, nySavanne); break; case "love": line = leggTilLove(sc, nySavanne); break; case "villsvin": line = leggTilVillsvin(sc, nySavanne); break; case "marekatt": line = leggTilMarekatt(sc, nySavanne); break; default: done = true; } } } System.out.println("Ferdig aa lese fil"); return nySavanne; } public String leggTilGaselle(Scanner sc, Savanne savanne){ String line = sc.nextLine(); while(!line.startsWith("#")){ Gaselle g = new Gaselle(line); System.out.println("Legger til gasellen " + g.navn); savanne.leggTil(g); line = sc.nextLine(); } return line; } public String leggTilGnu(Scanner sc, Savanne savanne){ String line = sc.nextLine(); while(!line.startsWith("#")){ Gnu g = new Gnu(line); System.out.println("Legger til gnuen " + g.navn); savanne.leggTil(g); if(!sc.hasNextLine()) return null; line = sc.nextLine(); } return line; } public String leggTilVillsvin(Scanner sc, Savanne savanne){ String line = sc.nextLine(); while(!line.startsWith("#")){ Villsvin g = new Villsvin(line); System.out.println("Legger til villsvinet " + g.navn); savanne.leggTil(g); line = sc.nextLine(); } return line; } public String leggTilMarekatt(Scanner sc, Savanne savanne){ String line = sc.nextLine(); while(!line.startsWith("#")){ Marekatt g = new Marekatt(line); System.out.println("Legger til marekatten " + g.navn); savanne.leggTil(g); line = sc.nextLine(); } return line; } public String leggTilLove(Scanner sc, Savanne savanne){ String line = sc.nextLine(); System.out.println("LINE: " + line); while(!line.startsWith("#")){ Love g = new Love(line); System.out.println("Legger til loven " + g.navn); savanne.leggTil(g); if(sc.hasNext()){ line = sc.nextLine(); }else{ return null; } } return line; } //MER }