Java BufferedReader (med exempel)

I den här handledningen lär vi oss om Java BufferedReader och dess metoder med hjälp av exempel.

Paketets BufferedReaderklass java.iokan 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 BufferedReaderhar en intern buffert på 8192 tecken .

Under läsoperationen läses BufferedReaderen 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 BufferedReadermåste vi först importera java.io.BuferedReaderpaketet. 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 BufferedReadernamngiven buffert med den FileReadernamngivna filen.

Här har den interna bufferten i BufferedReaderstandardstorleken 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 BufferedReaderklass 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 buffert
  • read(char() array) - läser karaktärerna från läsaren och lagras i den angivna matrisen
  • read(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).

Intressanta artiklar...