Gå til innhold

Problemer med å lese inn tekstfil


Anbefalte innlegg

Har lest forskjellige forklaringer på hvordan jeg skal lese en tekstfil og legge elementene til en JList. Får uansett problemer.

 

 

public void åpneFil() {
try {
FileReader f = new FileReader("navn");
BufferedReader br = new BufferedReader(f);
 
String linje = br.readLine();
while (linje!=null) {
linje = br.readLine();
listeModelTing.addElement(linje);
}
 
br.close();
f.close();
 
vareListe.setModel(listeModelTing);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

kommer en rød linje under addElemente, men ser ikke ut som noen andre har samme problemet. Tekstfila ser noenlunde slik ut

[Eple-50.0 NOK, Banan-60.0 NOK]

Det er slik JListen blir lagret.

Lenke til kommentar
Videoannonse
Annonse

Hei,

 

Om jeg husker riktig beskriver oppgaven at du må implementere Serializable på din Vareklasse, når dette er gjort kan du skrive hele klassen til Disk.

 

Om du også da skriver List Modellen din til disk med ObjectOutputStream kan du lett hente denne inn igjen med ObjectInputStream. Du må da huske og caste denne når du henter inn igjen.

 

Vil forøvrig anbefale deg å bruke labtimene på Onsdag, Torsdag eller Fredag :)

Lenke til kommentar

Jeg er ikke så fan av øvingstimene siden jeg liker å tygge på tingene selv uten å få de inn med t-skje. Hadde jeg hatt tid til å prøve godt nok for meg selv først og så gått på øvingstimene hadde det vært greit.

 

Har forøvrig gjort det du sa i innlegget ditt. Problemet kommer når jeg skal lagre variablene i klassen. Gjør jeg den global da lagres kun det siste jeg skrev inn. Si at jeg skriver at en vare "navn" koster "penger", legger jeg til en annen vare blir den første varen jeg skrev lik som den nye varen. Dette kan jeg fikse med å ikke gjøre variabelen til klassen global, men da kan jeg ikke hente den ut og bruke den til å lagre klassen.

 

EDIT:

Har prøvd å gjøre dette

listeModelTing.addElement(varer = new Varer());

Første varen jeg skriver inn blir "null" uansett, og jeg får ikke lest den eller lagret den.

 

Dette her fungerte for meg

varer = new Varer();
listeModelTing.addElement(varer);

Men når jeg skal lagre varen eller lese den faller den første varen jeg skriver ut. Altså den blir ikke lest/lagret.

 

Har fått det til nå. Problemet mitt var at jeg lagret klassen. Hvis jeg bare lagrer DefaultListModel og åpner den funker det fett, istedenfor å lagre klassen.

Endret av Emsal
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...