Jeg har et program som skal skrive inn registreringer i en tekstfil. Dog, jeg klarer ikke å få den til ikke å overskrive det som allerede står der. Har prøvd ganske mye nå, og får det fremdeles ikke til. Kan noen hjelpe?
Koden:
I tillegg så lurte jeg litt på om noen kunne gi tips til metoden som heter fugleType. Vet at jeg kan lese dette et sted, men sliter med å få denne metoden til å søke etter et bestemt ord fra tekstfilen og deretter printe ut hele linjen dette ordet ligger i.
Koden:
Kode
import java.util.*; import java.io.*; public class Oblig2 { public static void main (String[] args) { final Scanner input = new Scanner (System.in); int menyvalg=0; Meny menyen = new Meny(); menyen.meny(); } } //Selve menyen til programmet i en egen klasse. class Meny { PrintWriter fil; Scanner input = new Scanner (System.in); public void meny() { try{ fil=new PrintWriter(new FileWriter("fugler.txt", false)); } catch (IOException e) { System.out.println("Filen finnes ikke"); } int menyvalg=0; int menykall=1; //Menyen vil her bli repetert helt til en taster inn 4 og endrer menykall til 0. do{ //Selve menyen vil bli repetert helt til brukeren velger en av menyens alternativer. do{ System.out.println("====== Meny for registrering av fugleobservasjoner ====="); System.out.println("\n1. Registrer en fugleobservasjon"); System.out.println("2. Skriv ut alle fugleobservasjoner av en type"); System.out.println("3. Skriv ut alle fugleobservasjoner på ett bestemt sted"); System.out.println("4. Avslutt systemet"); System.out.println("\nVennligst velg en aksjon: "); menyvalg = input.nextInt(); } while(menyvalg < 1 || menyvalg > 4); switch (menyvalg){ case 1: registrering(); break; case 2: //fugleType(); break; case 3: break; case 4:menykall=0; } }while(menykall>=1); } void registrering () { System.out.println("Velkommen til registreringen av fugleobservasjoner."); System.out.println("Begynner registreringen (Lagrer seg i filen fugler.txt): "); try { fil = new PrintWriter(new FileWriter("fugler.txt", false)); PrintWriter skriv = new PrintWriter(fil); System.out.println("\nVennligst tast inn fugletypen: "); String fugletype = input.next(); skriv.write(fugletype + ","); System.out.println("Tast inn fuglens kjonn (M/H/X): "); char fuglekjonn = input.next().charAt(0); skriv.write(fuglekjonn + ","); System.out.println("Tast inn observasjonslokasjon: "); String lokasjon = input.next(); skriv.write(lokasjon + ","); System.out.println("Tast inn dato for observasjon (Som en string på formen mai2012): "); String dato = input.next(); skriv.write(dato); fil.close(); }catch(Exception e){ System.out.println("Åpning av fil feilet"); } } void fugleType () { System.out.println("Her kan du finne registrerte observasjoner med søk på typen fugl."); try{ Scanner output = new Scanner("fugler.txt"); System.out.println("Vennligst spesifiser fugletype: "); int linjenummer = 0; while (output.hasNext()){ String fugletype = output.next(); linjenummer++; if(fugletype.indexOf("fugler.txt")){ System.out.println (linjenummer); } } }catch (Exception e) { System.out.println("Fant ikke filen"); } } }