logo

Java Reader Class

Klasa Reader u Javi je apstraktna klasa za čitanje tokova znakova. Njegove podklase ( FileReader BufferedReade ) pružaju implementacije s read() kao glavnom metodom za čitanje znakova.

  • Implementira Readable sučelje koje definira metodu read(CharBuffer cb).
  • Implementira Closeable sučelje koje definira close() metodu za oslobađanje resursa.
čitač_' src='//techcodeview.com/img/java/58/java-reader-class.webp' title=Čitač

Izjava o čitateljskoj klasi

Deklaracija klase Reader data je u nastavku:

nije null u js

javna apstraktna klasa Reader implementira Readable Closeable



Primjer: Čitanje tekstualne datoteke znak po znak pomoću klase Reader.

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());  }  } } 

Izlaz:

Izlaz' loading='lazy' src='//techcodeview.com/img/java/58/java-reader-class-1.webp' title=izlaz

Bilješka: Kako biste osigurali da program ispravno radi, kreirajte datoteku pod nazivom example1.txt u radnom direktoriju.

lebdeći css

Dodajte sljedeći sadržaj u datoteku ili možete dodati bilo koji tekst.

Pozdrav, dobrodošli u Geeks for Geeks

Spremite datoteku i pokrenite program. Program će pročitati i prikazati sadržaj primjera1.txtkao izlaz.

Konstruktori Reader klase

Postoje dva konstruktora koji se koriste s klasom Java Reader kao što je spomenuto u nastavku:

np.log
  • zaštićeni čitač(): Stvara novi čitač toka znakova čiji će se kritični dijelovi sinkronizirati na samom čitaču.
  • zaštićeni čitač (zaključavanje objekta) : Stvara novi čitač toka znakova čiji će se kritični odjeljci sinkronizirati na danom objektu.

Metode Java Reader Class

metodaOpis
apstraktna praznina zatvori() Zatvara tok i oslobađa resurse.
void oznaka (int readAheadLimit) Označava trenutnu poziciju u toku.
boolean markSupported() Provjerava jesu li podržane operacije označavanja/poništavanja.
int čitanje() Čita jedan znak iz toka. Vraća -1 ako se dosegne kraj.
int read(char[] cbuf) Čita više znakova u polje.
abstract int read(char[] cbuf int off int len) Čita dio niza počevši od pomaka za duljinu len.
int read(CharBuffer target) Čita znakove u objekt CharBuffer.
void reset() Ponovno postavlja tok na posljednju poziciju oznake.
dugo preskakanje (dugo n) Preskače navedeni broj znakova.

Primjer: Donji program demonstrira rad različitih funkcionalnosti klase Reader u Javi.

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();  } } 

Izlaz:

Izlaz' loading='lazy' src='//techcodeview.com/img/java/58/java-reader-class-2.webp' title=Izlaz

Provedba nastave lektire

Neke od implementacija Reader klasa u Javi navedene su u nastavku:

  • BufferedReader
  • CharArrayReader
  • FilterReader
  • InputStreamReader
  • PipedReader
  • Čitač nizova
Napravi kviz