malurva Skrevet 2. mars 2006 Del Skrevet 2. mars 2006 (endret) Hei. Skal lage et program som leser inn en teksfil,og som skal kunne skrive til filen . Men det vil ikke skrive til filen. Noen som kan se hvor feilen ligger? Takk på forhånd. import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.Vector; import java.util.Scanner; public class mainframe { private static void printList(Vector vc) { for (int i = 0; i < vc.size(); i++){ Object tmp = vc.get(i); matvare tmp1 = (matvare) tmp; System.out.println(tmp1.getGruppe() + tmp1.getVarenavn() + tmp1.getProdusent() + tmp1.getInnDato() + tmp1.getUtdato() + tmp1.getLagringsplass()); //skriver ut varenavn }//for } private static int printMenu() { System.out.println("\n -- Meny --"); System.out.println("Registrer ny matvare:\t 0"); System.out.println("Skriv ut liste: 1"); System.out.println("Avslutt og lagre: 2"); System.out.println("Avslutt uten å lagre:\t 3"); int userinput = -2; System.out.print("\nVelg menypunkt: "); Scanner scan = new Scanner(System.in); userinput = scan.nextInt(); return userinput; } private static void lagre(Vector vc) throws IOException { File tempFil = new File("datafil.txt"); FileWriter filSkriver = new FileWriter(tempFil); for (int i = 0; i < vc.size(); i++){ Object tmp = vc.get(i); matvare tmp1 = (matvare) tmp; filSkriver.write(tmp1.toString()+ "\n"); } filSkriver.close(); } public static void main(String[] args) throws Exception{ lesefil kjell = new lesefil(); Vector data = new Vector(); try { data = fil.read(); //Leser datafil } catch (Exception e) { e.printStackTrace(); } //Skriver ut meny: int valg = 0; while(valg != 2 && valg != 3){ valg = printMenu(); System.out.println("Du valgte: " + valg); if (valg == 0){ String gruppe, vare, produsent, inndato, utdato, lagring, ja, nei; System.out.println("Varegruppe: "); Scanner scan = new Scanner(System.in); gruppe = scan.next(); System.out.println("Varenavn: "); vare = scan.next(); System.out.println("Produsent: "); produsent = scan.next(); System.out.println("Inndato: "); inndato = scan.next(); System.out.println("Utdato: "); utdato = scan.next(); System.out.println("Lagringsplass: "); lagring = scan.next(); System.out.println("Du skrev: " + gruppe + "\t" + vare + "\t" + produsent + "\t" + inndato + "\t" + utdato + "\t" + lagring); System.out.println("Vil du registrere denne varen? (Ja/Nei):"); ja = scan.next(); System.out.println("Du valgte: " + ja); } if(valg == 1) { printList(data); } }//while-løkke if(valg == 2) { lagre(data); System.out.print("Listen er oppdatert"); } }//main }//class Endret 3. mars 2006 av malurva Lenke til kommentar
CruellaDeVille Skrevet 3. mars 2006 Del Skrevet 3. mars 2006 private static void lagre(Vector vc) throws IOException { File tempFil = new File("datafil.txt"); FileWriter filSkriver = new FileWriter(tempFil); for (int i = 0; i < vc.size(); i++){ Object tmp = vc.get(i); matvare tmp1 = (matvare) tmp; filSkriver.write(tmp1.toString()+ "\n"); } filSkriver.close(); } 5689304[/snapback] For å kunne skrive til fil må du ha to streamer, en FileWriter og en av typen PrintWriter. Så metoden din kunne blitt noe slikt som: private static void lagre(Vector vc) throws IOException { File tempFil = new File("datafil.txt"); FileWriter filSkriver = new FileWriter(tempFil); PrintWriter minSkriver = new PrintWriter(filskriver); for (int i = 0; i < vc.size(); i++){ Object tmp = vc.get(i); matvare tmp1 = (matvare) tmp; minSkriver.write(tmp1.toString()+ "\n"); } minSkriver.close(); } Dette skal funke... Du må importere java.io.PrintWriter (med mindre du lager en short cut og importerer alle pakker, java.io.*) Lenke til kommentar
Orjanp Skrevet 3. mars 2006 Del Skrevet 3. mars 2006 (endret) Du trenger ikke bruke File først. // For å skrive til fil. PrintWriter fout = new PrintWriter(new FileWriter("myFile")); // For å lese fra fil. BufferedReader fin_intro = new BufferedReader(new FileReader("yourFile")); Dessuten, når dere skal legge ut kode, bruk code taggen. [code*] //uten *koden din[/code] Ørjan... Endret 3. mars 2006 av Orjanp Lenke til kommentar
malurva Skrevet 7. mars 2006 Forfatter Del Skrevet 7. mars 2006 (endret) Takk for hjelpen Endret 7. mars 2006 av malurva Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå