logo

Java-lukijaluokka

Javan Reader-luokka on abstrakti luokka hahmovirtojen lukemiseen. Sen alaluokat ( Tiedostonlukija PuskuroituReade ) tarjoavat toteutuksia, joissa read() on tärkein tapa lukea merkkejä.

  • Se toteuttaa Readable-rajapinnan, joka määrittelee read(CharBuffer cb) -menetelmän.
  • Se toteuttaa Closeable-rajapinnan, joka määrittää close()-menetelmän resurssien vapauttamiseksi.
lukija_' src='//techcodeview.com/img/java/58/java-reader-class.webp' title=Lukija

Lukijaluokan ilmoitus

Lukijaluokan ilmoitus on annettu alla:

java boolean

julkinen abstrakti luokka Reader toteuttaa Readable Closeable



Esimerkki: Lue tekstitiedosto merkki merkiltä Reader-luokan avulla.

Java
import java.io.*; public class Geeks {  public static void main(String[] args)  {  try {    // Create a FileReader object which is a subclass of Reader  Reader r = new FileReader('example1.txt');  // Read one character at a time from the file  int data = r.read();  while (data != -1) {    // Convert the int to char and print  System.out.print((char)data);  data = r.read();  }  // Close the reader  r.close();  }  catch (Exception ex) {  System.out.println('An error occurred: ' + ex.getMessage());  }  } } 

Lähtö:

Lähtö' loading='lazy' src='//techcodeview.com/img/java/58/java-reader-class-1.webp' title=ulostulo

Huomautus: Varmista, että ohjelma toimii oikein, luomalla työhakemistoon tiedosto nimeltä example1.txt.

Lisää tiedostoon seuraava sisältö tai voit lisätä mitä tahansa tekstiä.

mikä on jquery

Hei tervetuloa Geeks for Geeks -palveluun

Tallenna tiedosto ja suorita ohjelma. Ohjelma lukee ja näyttää esimerkin 1 sisällön.txtlähtönä.

Lukijaluokan rakentajat

Java Reader Classin kanssa käytetään kahta konstruktoria, kuten alla mainitaan:

java vertailukelpoinen
  • suojattu lukija(): Luo uuden merkkivirran lukijan, jonka tärkeät osat synkronoidaan itse lukijaan.
  • suojattu lukija (objektilukko) : Luo uuden merkkivirran lukijan, jonka tärkeät osat synkronoidaan annetun objektin kanssa.

Java Reader Classin menetelmät

MenetelmäKuvaus
abstrakti void close() Sulkee virran ja vapauttaa resursseja.
tyhjä merkki (int readAheadLimit) Merkitsee nykyisen sijainnin streamissa.
Boolean markSupported() Tarkistaa, tuetaanko merkintä/nollaustoimintoja.
int read() Lukee yhden merkin streamista. Palauttaa -1, jos loppu saavutetaan.
int read(char[] cbuf) Lukee useita merkkejä taulukkoon.
abstrakti int read(char[] cbuf int off int len) Lukee osan taulukosta alkaen offsetista pituuden len.
int read (CharBuffer-kohde) Lukee merkit CharBuffer-objektiin.
void reset() Palauttaa streamin viimeisimpään merkkikohtaan.
pitkä ohitus (pitkä n) Ohittaa määritetyn määrän merkkejä.

Esimerkki: Alla oleva ohjelma esittelee Reader-luokan eri toimintojen toimintaa Javassa.

Java
import java.io.*; import java.nio.CharBuffer; import java.util.Arrays; public class Geeks {  public static void main(String[] args)  throws IOException  {  // Open a file reader  Reader r = new FileReader('file.txt');  PrintStream out = System.out;  // Create a character array and CharBuffer  char[] buffer = new char[10];  CharBuffer charBuffer = CharBuffer.wrap(buffer);  // Check if the reader supports marking  if (r.markSupported()) {  r.mark(100); // Mark the current position  out.println('mark method is supported');  }  // Skip 5 characters in the stream  r.skip(5);  // Check if the stream is ready to read  if (r.ready()) {  // Read 10 characters into the buffer  r.read(buffer 0 10);  out.println('Buffer after reading 10 chars: '  + Arrays.toString(buffer));  // Read characters into the CharBuffer  r.read(charBuffer);  out.println(  'CharBuffer contents: '  + Arrays.toString(charBuffer.array()));  // Read a single character  out.println('Next character: '  + (char)r.read());  }  // Close the reader  r.close();  } } 

Lähtö:

Lähtö' loading='lazy' src='//techcodeview.com/img/java/58/java-reader-class-2.webp' title=Lähtö

Lukijakurssien toteuttaminen

Jotkut Reader-luokkien toteutuksista Javassa on mainittu alla:

  • Puskuroitu Reader
  • CharArrayReader
  • FilterReader
  • InputStreamReader
  • PipedReader
  • StringReader
Luo tietokilpailu