Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Lesing fra fil

For å lese fra en fil, kan du instansiere et FileReader-objekt og gi det til en Scanner:

...

Se java.util.Scanner for hvordan man bruker Scanneren du får.

Skriving til fil

For å lese fra en fil, kan du instansiere en java.io.PrintWriter:

...

Når du vil si deg ferdig med å skrive til filen, har PrintWriter en close()-metode som fullfører eventuell utsatt skriving og lukker filen.

Filnavn

Filnavnet/stien vil være relativt til 'parrent working directory', som i Eclipse er mappen til prosjektet som main-metoden ligger i (med mindre du har satt det til noe annet). Dette vil si at hvis Eclipse sitt workspace ligger i hjemmemappen din og heter 'workspace', og du jobber i prosjektet 'TDT4100', og du sier new PrintWriter("hei.txt"), vil denne filen dukke opp i mappen TDT4100 i workspace i hjemmemappen din.

...

OSEksempel
Windows

C:\Users\blabla\test.txt

OS X, Linux, ol.

/User/blabla/test.txt
/home/blabla/test.txt

Eksempler

Lese fra fil:

Code Block
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.Scanner;

class ReadingAFile {
    public static void main(String[] args)
    {
        Scanner in;
        try
        {
            in = new Scanner(new FileReader("test.txt"));
            
            while(in.hasNext()){
                String line = in.nextLine();
                System.out.println(line);
            }
            
            in.close();
        }
        catch (FileNotFoundException e)
        {
            System.err.println("Error: file 'test.txt' could not be opened. Does it exist?");
            System.exit(1);
        }
    }
}

Skrive til fil:

Code Block
import java.io.FileNotFoundException;
import java.io.PrintWriter;

class WritingAFile {
    public static void main(String[] args)
    {
        try
        {
            PrintWriter outFile = new PrintWriter("test.txt");
            outFile.println("hello world!");
            outFile.close();
        }
        catch (FileNotFoundException e)
        {
            System.err.println("Error: file 'test.txt' could not be opened for writing.");
            System.exit(1);
        }
        
    }
}