Hogyan olvasható el egy fájl Java-ban?
A Java számos mechanizmust biztosít a fájlból történő olvasásra. Az ehhez biztosított leghasznosabb csomag a java.io.Reader. Ez az osztály tartalmazza a Java BufferedReader osztályt a java.io.BufferedReader csomag alatt
Mi a BufferedReader a Java-ban?
A BufferedReader egy Java osztály, amely beolvassa a szöveget egy bemeneti adatfolyamból (például egy fájlból) olyan karakterek pufferelésével, amelyek zökkenőmentesen olvassák a karaktereket, tömböket vagy vonalakat. Általánosságban elmondható, hogy az Olvasótól származó minden egyes olvasási kérelem megfelelő olvasási kérelmet küld az alapul szolgáló karakterről vagy bájtfolyamról.
Ezért tanácsos a BufferedReader programot Java-ba tekerni minden olyan Reader köré, amelynek olvasási () műveletei költségesek lehetnek, például java FileReaders és InputStreamReaders. Egy tipikus használat a fájl elérési útjának átadását jelenti a Java BufferedReader-hez az alábbiak szerint:
objReader = new BufferedReader(new FileReader("D:\DukesDiary.txt"));//Assuming you have a text file in D drive
Ez alapvetően betölti a fájlt az objReaderbe. Most meg kell ismételnie a fájl tartalmát, és ki kell nyomtatnia.
Az alábbi kódban lévő while ciklus addig olvassa a fájlt, amíg el nem éri a fájl végét
while ((strCurrentLine = objReader.readLine()) != null) {System.out.println(strCurrentLine);}
Az strCurrentLine beolvassa az aktuális sort, a Java readLine függvény pedig az objReader.readLine () karakterláncot ad vissza. Ezért a ciklus addig fog ismétlődni, amíg nem lesz null.
BufferedReader példa:
A kód alatt található egy Java BufferedReader példa, amely a teljes megvalósítást mutatja:
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();}}}}
Jegyzet:
A fenti kódnak nagyon fontos kezelési módjai vannak, különösen a kód utolsó blokkjában.
Ez a kód biztosítja a memóriakezelés hatékony elvégzését és az objReader.close () metódus meghívását, amely felszabadítja a memóriát.
BufferedReader JDK7 Példa:
Az alábbiakban bemutatjuk a Java olvasott fájlok példáját a BufferedReader osztály használatával
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();}}}