Gå til innhold

Anbefalte innlegg

Skrevet

import java.io.*;



public class lesfrafil {

   public static void main(String[] args) {

       String filnavn = "c:test.txt";

   try {    

       FileReader tekstFilLeser = new FileReader(filnavn);

       BufferedReader tekstLeser = new BufferedReader(tekstFilLeser);

       String post = tekstLeser.readLine();

       System.out.println(post);

       tekstLeser.close();

       }

   catch (IOException unntak) {

       System.out.print("Feil ved skriving: " + unntak);

       System.exit(1);

       }

   }

}

Hvordan skal jeg få til å lese fra flere linjer?

Dette programmet leser bare fra første linje..

Videoannonse
Annonse
Skrevet

Ved å kalle readLine() flere ganger ;)

 

Skal du lese hele filen inn i en streng kan du bruke:

File fil = new File(filnavn);

InputStreamReader in = new InputSreamReader(new FileInputStream(fil));

char[] streng = new char[fil.length()];

in.read(streng, 0, streng.length);

String post = new String(streng);

Skrevet

Dersom du skal lese alle linjene så kan du bruke en løkke (og lese dem inn i en array i dette tilfellet):


int teller = 0;

while(tekstLeser.readLine() != null )

{

    post[i] = tekstLeser.readLine();

    teller++;

}



 

TROR dette skal fungere, men har ikke testet det ut :p Ihvertfall skal løkken hente ut en ny linje i hver runde, helt til den slutten av filen der den får null, og hopper ut av løkken.

Skrevet

Rettes til:

int teller = 0;

while((post[teller++] = tekstLeser.readLine()) != null );

 

readLine() vil fortsette til neste linje selv om du ikke tar vare på returverdien, du vil altså bare få med annenhver linje med smetho sitt forslag.

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...