logo

Java-läsarklass

Reader-klassen i Java är en abstrakt klass för att läsa teckenströmmar. Dess underklasser ( FileReader Bufferad Läs ) tillhandahåller implementeringar med read() som huvudmetoden för att läsa tecken.

  • Den implementerar det läsbara gränssnittet som definierar read(CharBuffer cb)-metoden.
  • Den implementerar Closeable-gränssnittet som definierar close()-metoden för att frigöra resurser.
läsare_' src='//techcodeview.com/img/java/58/java-reader-class.webp' title=Läsare

Deklaration av läsarklass

Deklaration av läsarklass ges nedan:

tecken till int i java

public abstract class Reader implementerar Läsbar Stängbar



Exempel: Läs en textfil tecken för tecken med klassen 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());  }  } } 

Utgång:

i java regex
Produktion' loading='lazy' src='//techcodeview.com/img/java/58/java-reader-class-1.webp' title=produktion

Notera: För att säkerställa att programmet körs korrekt skapa en fil med namnet example1.txt i arbetskatalogen.

Lägg till följande innehåll i filen eller så kan du lägga till vilken text som helst.

Hej välkommen till Geeks for Geeks

Spara filen och kör programmet. Programmet kommer att läsa och visa innehållet i exempel1.txtsom utgång.

Konstruktörer av läsarklass

Det finns två konstruktörer som används med Java Reader Class som nämns nedan:

Excel datum skillnad
  • skyddad läsare(): Skapar en ny teckenströmsläsare vars kritiska avsnitt kommer att synkroniseras på själva läsaren.
  • skyddad läsare (objektlås) : Skapar en ny teckenströmsläsare vars kritiska avsnitt kommer att synkroniseras på det givna objektet.

Metoder för Java Reader Class

MetodBeskrivning
abstrakt void close() Stänger strömmen och släpper resurser.
void mark (int readAheadLimit) Markerar den aktuella positionen i strömmen.
boolean markSupported() Kontrollerar om markerings-/återställningsåtgärder stöds.
int read() Läser ett enstaka tecken från strömmen. Returnerar -1 om slutet nås.
int read(char[] cbuf) Läser flera tecken i en array.
abstrakt int read(char[] cbuf int off int len) Läser en del av arrayen med start vid offset off för längd len.
int read(CharBuffer-mål) Läser tecken i ett CharBuffer-objekt.
void reset() Återställer strömmen till den senaste markeringspositionen.
långt hoppa (långt n) Hoppa över det angivna antalet tecken.

Exempel: Nedanstående program visar hur olika funktioner i Reader-klassen fungerar i Java.

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

Produktion:

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

Genomförande av läsarklasser

Några av implementeringarna av Reader-klasser i Java nämns nedan:

  • Bufferad Reader
  • CharArrayReader
  • FilterReader
  • InputStreamReader
  • PipedReader
  • StringReader
Skapa frågesport