Gå til innhold

Anbefalte innlegg

Hei.

 

Jeg klarer å skrive til fil og lese fra fil, men det er bare en fil som jeg selv har bestemt navnet på i min les fil og skriv til fil metode. Dette fungerer.

 

Jeg har også programmert et JFileChooser vindu som skal åpne en fil, men problemet er bare det at når jeg åpner filen så er det ingenting som skjer. Jeg vil at data fra filen jeg har åpnet skal leses inn; f.eks. data som lå i tabeller og oversikt over alle registrerte brukere osv...

 

Dette er koden min

 

 public String åpneFil()
   {
     
     filVelger.setCurrentDirectory( new File ( "." ) );
     int resultat = filVelger.showOpenDialog( this );
    
     if ( resultat == JFileChooser.APPROVE_OPTION )
     {  
      
       File fil = filVelger.getSelectedFile();
       return fil.getPath();
     
     }
     else
       return null;
           
   }

 

Er det noe mer jeg kan legge inn i koden for å få den til å lese inn data i programmet mitt ? ( .dta filer )

 

 

:shrug:

Endret av aic007
Lenke til kommentar
Videoannonse
Annonse

Kan legge til at det er objekter som jeg skriver til fil. Bruker ObjectInputStream og ObjectOutputStream, men vet som sagt ikke helt åssen jeg skal få åpnet en fil for deretter å kunne få opp informasjon i skjemaene og tabellene.

Lenke til kommentar

Har det ikke helt klart forand meg hva du vil fram til... Vil du lese tekst fra en fil som velges av JFileChooser eller hva?

 

Hvis du skal lese tekst fra en fil er det bare å bruke to klasser:

 

FileReader reader = new FileReader("file location");
BufferedReader buffer = new BufferedReader(reader);

 

Så kan du bruke metoden readLine() til buffer å kjøre igjennom og hente opp alt innholdet fra bufferet til en variabel ved hjelp av en while-løkke.

 

Har på følelsen at det ikke er dette du vil fram til?

Endret av kjey
Lenke til kommentar

Hei.

 

Det var dårlig beskrevet av meg. :blush:

 

Å lese tekst fra en fil klarer jeg, men saken er at jeg har et grensesnitt som har en knapp som skal vise en tabell over alle registrerte brukere, når jeg trykker på knappen. Data om registrerte kunder har jeg lagt i en fil som ender med .dta ...

Det jeg vil er at data skal komme i tabellen, når jeg åpner en annen fil som ender på .dta, men vet ikke åssen jeg skal få det til at "data kommer på riktig plass" når jeg åpner en fil.

Endret av aic007
Lenke til kommentar

Hvordan har du lagret informasjon i filen? Lagrer du bare informasjonen som tekst? Kan du poste koden du bruker for å lagre?

 

Ihvertfall det med at bare den ene type fil kan åpnes kan gjøres ved å lage en if setning som henter filen som er valgt og sjekker ved hjelp av en if-setning om den fyller kravene dine. Hvis true, så åpnes filen og leses inn i tabellen. Sitter på skolen så får ikke laget noe bra eksempel for deg, men håper du skjønner hva jeg mener. Du kan ta en titt på klassen String i API'et så finner du noen metoder som sjekker om f.eks. ".dta" finnes i strengen. Tror metoden "contains()" er den du leter etter? Kan sikkert hjelpe litt bedre når jeg er ferdig på skolen.

Lenke til kommentar

Hei.

 

Jeg brukte følgende kode for å skrive til fil

 

private void skrivTilFil()
 {
   try
   {
     ObjectOutputStream utfil = new ObjectOutputStream
       ( new FileOutputStream( "liste.data" ) );
     utfil.writeObject( heltallsliste );
     utfil.flush();
     utfil.close();
   }
   catch( NotSerializableException nse )
   {
     lista.setText( nse.getMessage() );
   }
   catch( IOException ioe )
   {
     lista.setText( ioe.getMessage() );
   }
 }

 

Det er ikke så farlig. Problemet er løst :w00t:

men tusen takk for at du tok deg tid til å svare :thumbup:

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...