Java BufferedReader: Hvordan lese fil i Java med eksempel
Hvordan lese en fil i Java?
Java gir flere mekanismer for รฅ lese fra fil. Den mest nyttige pakken som er gitt for dette er java.io.Reader. Denne klassen inneholder klassen Java BufferedReader under pakken java.io.BufferedReader
Hva er BufferedReader i Java?
BufferedReader er en Java klasse for รฅ lese teksten fra en inngangsstrรธm (som en fil) ved รฅ bufre tegn som sรธmlรธst leser tegn, matriser eller linjer. Vanligvis forรฅrsaker hver leseforespรธrsel gjort av en Reader en tilsvarende leseforespรธrsel av det underliggende tegnet eller bytestrรธmmen.
Det er derfor lurt รฅ pakke inn BufferedReader i Java rundt en hvilken som helst Reader hvis read()-operasjoner kan vรฆre kostbare, for eksempel java FileReaders og InputStreamReaders. En typisk bruk vil innebรฆre รฅ sende filbanen til BufferedReader i Java som fรธlger:
objReader = new BufferedReader(new FileReader("D:\DukesDiary.txt"));
//Assuming you have a text file in D drive
Dette laster i utgangspunktet filen din i objReader. Nรฅ mรฅ du iterere gjennom innholdet i filen og skrive den ut.
Ocuco mens lรธkken koden nedenfor vil lese filen til den har nรฅdd slutten av filen
while ((strCurrentLine = objReader.readLine()) != null) {
System.out.println(strCurrentLine);
}
strCurrentLine leser gjeldende linje og Java readLine-funksjonen objReader.readLine() returnerer en streng. Derfor vil lรธkken iterere til den ikke er null.
BufferEksempel pรฅ edReader
Nedenfor er koden en Java BufferedReader eksempel som viser den komplette implementeringen:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFileExample {
public static void main(String[] args) {
BufferedReader objReader = null;
try {
String strCurrentLine;
objReader = new BufferedReader(new FileReader("D:\\DukesDiary.txt"));
while ((strCurrentLine = objReader.readLine()) != null) {
System.out.println(strCurrentLine);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (objReader != null)
objReader.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
OBS:
Koden ovenfor har noen svรฆrt viktige hรฅndteringer, spesielt i den endelige blokken av koden.
Denne koden vil sikre at Minnehรฅndtering gjรธres effektivt og objReader.close() metoden kalles som frigjรธr minnet.
BufferEksempel pรฅ edReader JDK7
Nedenfor er eksemplet pรฅ Java Les filer ved hjelp av BufferedReader-klassen
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFileExample_jdk7 {
private static final String FILENAME = "D:\\DukesDiary.txt";
public static void main(String[] args) {
try (BufferedReader br = new BufferedReader(new FileReader(FILENAME))) {
String strCurrentLine;
while ((strCurrentLine = br.readLine()) != null) {
System.out.println(strCurrentLine);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
