Java BufferedReader: Hogyan olvassunk be fájlt Java példával
Hogyan lehet beolvasni egy fájlt Java?
Java számos mechanizmust biztosít a fájlból való olvasáshoz. A leghasznosabb csomag, amit ehhez biztosítunk, a java.io.Reader. Ez az osztály tartalmazza az Osztályt Java BufferedReader a java.io csomag alatt.BufferedReader
Mi a BufferedReader be Java?
BufferedReader egy olyan Java osztály beolvassa a szöveget egy beviteli adatfolyamból (például egy fájlból) a karakterek pufferelésével, amely zökkenőmentesen olvassa be a karaktereket, tömböket vagy sorokat. Általánosságban elmondható, hogy az olvasó minden egyes olvasási kérelme egy megfelelő olvasási kérést eredményez az alapul szolgáló karakter- vagy bájtfolyamhoz.
Ezért célszerű becsomagolni BufferedReader be Java minden olyan Reader körül, amelynek read() műveletei költségesek lehetnek, mint például a java FileReaders és InputStreamReaders. Egy tipikus használat magában foglalja a fájl elérési útjának átadását a BufferedReader be Java 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 ismét végig kell néznie a fájl tartalmát, és ki kell nyomtatnia.
A míg hurok az alábbi kódban 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 és a Java readLine függvény objReader.readLine() egy karakterláncot ad vissza. Ezért a ciklus addig ismétlődik, amíg nulla nem lesz.
BufferedReader példa
Az alábbi kód a Java BufferedReader példa, amely bemutatja a teljes megvalósítást:
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 van néhány nagyon fontos kezelése, különösen a kód utolsó blokkjában.
Ez a kód biztosítja, hogy a memóriakezelés hatékonyan történik, és meghívják az objReader.close() metódust, amely felszabadítja a memóriát.
BufferedReader JDK7 példa
Alább látható a példa Java Fájlok olvasása a használatával BufferedReader osztály
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(); } } }