Avatar billede elites Nybegynder
13. januar 2004 - 08:27 Der er 1 kommentar og
1 løsning

Løbe tekstfil igennem

Hejsa

Jeg vil gerne lave et lille program, der henter linier ud af en tekstfil sålænge at der er flere linier

i stil af

While(f.hasMoreLines())
{
f.readNextLine();
}

Har prøvet at læse længden af linien ind i en long og så samlignet den med f.length(), men det holder ikke..

Hvordan kan jeg lave en metode hasMoreLines()???
Avatar billede medions Nybegynder
13. januar 2004 - 08:29 #1
Det hurtigste er RandomAccessFile i java.io pakken:
File file = new File("C:/tekst.txt");
RandomAccessFile raf = new RandomAccessFile(file, "r");
if( raf.length() > Integer.MAX_VALUE )
  // Fil for stor         
byte[] result = new byte[ (int) raf.length() ];
raf.read( result );
raf.close();

String str = new String(result);

//>Rune
Avatar billede labanos Nybegynder
13. januar 2004 - 11:00 #2
Prøv evt. med en BufferedReader...
String filename = "etellerandet.txt";
try {
      BufferedReader input = new BufferedReader( new FileReader( filename ) );

      while ( input.ready() )
        System.out.println( input.readLine() );

      input.close();
    }
    catch ( FileNotFoundException e ) {
      System.out.println( "Filen findes ikke: " + filename );
    }
    catch ( IOException e ) {
      System.out.println(
        "Der opstod fejl under læsning fra filen: " + filename );
    }
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester