...
Du kan gi PrintWriter en sti i stedet for bare filnavnet, slik at du styrer hvilken mappe filen dukker opp i. Her er det litt forsjell på hvordan stier oppgis i Windows i motsettning til andre operativsystemer som OS X, Linux, o.l. Windows og andre bruker \ og / henholdsvis for å separere mapper og filnavn. For å skrive til filen hei.txt i mappen 'output' i prosjektmappen, blir stien på Windows "output\hei.txt", mens den ellers blir "output/hei.txt". Legg merke til at \ har spessiel betydning i Java-strenger, og må escapes med en til \. For WindowsEksempelvis, vil det alså se ut som new PrintWriter("output\\/hei.txt");
Det er også mulig å bruke det spessiele mappenavnet ..
(dobbel dot) til å bety mappen over. For eksempel, vil
få filen til å dukke opp i workspace-mappen utenfor prosjektmappen."../hei.txt"
Hvis du ikke ønsker at stien skal være relativ, kan du spesifiere en absolutt sti. Absolutte stier begynner med en skråstrek. I Windows kan man , vil stien fortsatt være relativ til diskstasjonen 'parent working directory' er på. Men, men kan også spesifiere hvilken diskstasjon stien omhandler:diskstasjon ved å skrive stasjonsnavnet og kolon foran.
Eksempler på stier:
Sti | Betydning |
---|---|
hei.txt | Fil 'hei.txt' i prosjektmappa. |
output/hei.txt | Fil 'hei.txt' i output-mappa i prosjektmappa. |
../hei.txt | Fil 'hei.txt' i workspace-mappa, én opp fra prosjektmappa. |
/hei.txt | Fil 'hei.txt' i den øverste mappen på filsystemet. For Windows er dette fortsatt på samme diskstasjon. |
C:/hei.txt | Kun på Windows: Fil 'hei.txt' i øverste mappe på diskstasjon C. |
OS | Eksempel |
Windows | C:\Users\blabla\test.txt |
OS X, Linux, ol. | /User/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); } } } |
...