Java BufferedReader (esimerkkien kanssa)

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ä puskurista
  • read(char() array) - lukee merkit lukijalta ja tallentaa määritettyyn ryhmään
  • read(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).

Mielenkiintoisia artikkeleita...