I den här handledningen lär vi oss om Java BufferedReader och dess metoder med hjälp av exempel.
Paketets BufferedReader
klass java.io
kan användas med andra läsare för att läsa data (i tecken) mer effektivt.
Det utvidgar den abstrakta klassen Reader
.
Arbeta med BufferedReader
Den BufferedReader
har en intern buffert på 8192 tecken .
Under läsoperationen läses BufferedReader
en bit av tecken från skivan och lagras i den interna bufferten. Och från den interna bufferten läses tecken individuellt.
Följaktligen minskar antalet kommunikationer till skivan. Det är därför läsning av tecken går snabbare BufferedReader
.
Skapa en BufferedReader
För att skapa ett BufferedReader
måste vi först importera java.io.BuferedReader
paketet. När vi väl har importerat paketet, här är hur vi kan skapa läsaren.
// Creates a FileReader FileReader file = new FileReader(String file); // Creates a BufferedReader BufferedReader buffer = new BufferedReader(file);
I exemplet ovan har vi skapat en BufferedReader
namngiven buffert med den FileReader
namngivna filen.
Här har den interna bufferten i BufferedReader
standardstorleken 8192 tecken. Vi kan dock också specificera storleken på den interna bufferten.
// Creates a BufferdReader with specified size internal buffer BufferedReader buffer = new BufferedReader(file, int size);
Bufferten hjälper till att läsa tecken från filerna snabbare.
Metoder för BufferedReader
Den BufferedReader
klass erbjuder implementeringar för olika metoder som finns i Reader
.
läs () Metod
read()
- läser en enda karaktär från läsarens interna buffertread(char() array)
- läser karaktärerna från läsaren och lagras i den angivna matrisenread(char() array, int start, int length)
- läser antalet tecken som är lika långa från läsaren och lagras i den angivna matrisen med start från positionens start
Antag till exempel att vi har en fil med namnet input.txt med följande innehåll.
This is a line of text inside the file.
Låt oss försöka läsa filen med BufferedReader
.
import java.io.FileReader; import java.io.BufferedReader; class Main ( public static void main(String() args) ( // Creates an array of character char() array = new char(100); try ( // Creates a FileReader FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // Reads characters input.read(array); System.out.println("Data in the file: "); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Produktion
Data i filen: Det här är en textrad i filen.
I exemplet ovan har vi skapat en buffrad läsare med namnet input. Den buffrade läsaren är länkad till filen input.txt .
FileReader file = new FileReader("input.txt"); BufferedReader input = new BufferedReader(file);
Här har vi använt read()
metoden för att läsa en rad tecken från den buffrade läsarens interna buffert.
skip () Metod
För att kasta och hoppa över det angivna antalet tecken kan vi använda skip()
metoden. Till exempel,
import java.io.FileReader; import java.io.BufferedReader; public class Main ( public static void main(String args()) ( // Creates an array of characters char() array = new char(100); try ( // Suppose, the input.txt file contains the following text // This is a line of text inside the file. FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // Skips the 5 characters input.skip(5); // Reads the characters input.read(array); System.out.println("Data after skipping 5 characters:"); System.out.println(array); // closes the reader input.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) )
Produktion
Data efter att ha hoppat över 5 tecken: är en textrad i filen.
I exemplet ovan har vi använt skip()
metoden för att hoppa över 5 tecken från filläsaren. Därför, karaktärerna 'T'
, 'h'
, 'i'
, 's'
och ' '
hoppas över från originalfilen.
close () Metod
För att stänga den buffrade läsaren kan vi använda close()
metoden. När close()
metoden har anropats kan vi inte använda läsaren för att läsa data.
Andra metoder för buffrad läsare
Metod | Beskrivning |
---|---|
ready() | kontrollerar om filläsaren är redo att läsas |
mark() | markera positionen i läsaren till vilken data har lästs |
reset() | återställer kontrollen till den punkt i läsaren där märket sattes |
För att lära dig mer, besök Java BufferedReader (officiell Java-dokumentation).