Tässä opetusohjelmassa opitaan Java BufferedReaderista ja sen menetelmistä esimerkkien avulla.
BufferedReaderLuokan java.iopaketti voidaan käyttää muiden lukijoiden lukea tietoja (merkit) tehokkaammin.
Se laajentaa abstraktia luokkaa Reader.

Puskuroidun lukijan toiminta
BufferedReaderOn sisäisen puskurin 8192 merkkiä .
Lukuoperaation aikana on BufferedReader, palan merkkiä luetaan levyltä ja tallennetaan sisäiseen puskuriin. Sisäisestä puskurista merkit luetaan erikseen.
Siksi levylle tapahtuvan tiedonsiirron määrä vähenee. Siksi merkkien lukeminen on nopeampaa BufferedReader.
Luo puskuroitu lukija
Paketin luomiseksi BufferedReadermeidän on java.io.BuferedReaderensin tuotava paketti. Kun tuot paketin, voimme luoda lukijan seuraavasti.
// Creates a FileReader FileReader file = new FileReader(String file); // Creates a BufferedReader BufferedReader buffer = new BufferedReader(file);
Yllä olevassa esimerkissä olemme luoneet BufferedReadernimetyn puskurin FileReadernimeltä mainitun tiedoston kanssa.
Tässä sisäisen puskurin BufferedReaderoletusarvo on 8192 merkkiä. Voimme kuitenkin määrittää myös sisäisen puskurin koon.
// Creates a BufferdReader with specified size internal buffer BufferedReader buffer = new BufferedReader(file, int size);
Puskuri auttaa lukemaan merkkejä tiedostoista nopeammin.
Menetelmät BufferedReader
BufferedReaderLuokka antaa toteutuksia eri menetelmiä läsnä Reader.
read () Menetelmä
read()- lukee yhden merkin lukijan sisäisestä puskuristaread(char() array)- lukee merkit lukijalta ja tallentaa määritettyyn ryhmäänread(char() array, int start, int length)- lukee lukijalta pituuden verran merkkien lukumäärän ja tallentaa määrätyn matriisin paikan alusta alkaen
Oletetaan esimerkiksi, että meillä on tiedosto nimeltä input.txt, jolla on seuraava sisältö.
This is a line of text inside the file.
Yritetään lukea tiedosto käyttämällä 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(); ) ) )
Tuotos
Tiedot tiedostossa: Tämä on tekstirivi tiedoston sisällä.
Yllä olevassa esimerkissä olemme luoneet puskuroidun lukijan nimeltä input. Puskuroitu lukija on linkitetty input.txt- tiedostoon.
FileReader file = new FileReader("input.txt"); BufferedReader input = new BufferedReader(file);
Tässä olemme käyttäneet read()menetelmää lukemaan joukko merkkejä puskuroidun lukijan sisäisestä puskurista.
skip () Menetelmä
Hylkäämään ja ohittamaan määritetyn määrän merkkejä voimme käyttää skip()menetelmää. Esimerkiksi,
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(); ) ) )
Tuotos
Tiedot 5 merkin ohittamisen jälkeen: on tekstirivi tiedoston sisällä.
Yllä olevassa esimerkissä olemme käyttäneet skip()menetelmää ohittaa 5 merkkiä tiedostonlukijasta. Siten, hahmot 'T', 'h', 'i', 's'ja ' 'ohitetaan alkuperäisestä tiedoston.
sulje () Menetelmä
Puskuroidun lukijan sulkemiseksi voimme käyttää close()menetelmää. Kun close()menetelmä on kutsuttu, emme voi käyttää lukijaa tietojen lukemiseen.
Muut puskuroidun lukijan menetelmät
| Menetelmä | Kuvaus |
|---|---|
ready() | tarkistaa, onko tiedostojen lukulaite valmis lukemaan |
mark() | merkitse lukijan sijainti, johon tiedot on luettu |
reset() | palauttaa ohjaimen lukijan kohtaan, johon merkki asetettiin |
Lisätietoja on Java BufferedReader -ohjelmassa (virallinen Java-dokumentaatio).








