Java Okuyucu Sınıfı

Java Okuyucu Sınıfı

Java'daki Reader sınıfı bir soyut sınıf karakter akışlarını okumak için. Alt sınıfları ( Dosya Okuyucu TamponlanmışOkuma ) karakterleri okumak için ana yöntemin read() olduğu uygulamalar sağlar.

  • Read(CharBuffer cb) yöntemini tanımlayan Okunabilir arayüzü uygular.
  • Kaynakları serbest bırakmak için close() yöntemini tanımlayan Closeable arayüzünü uygular.
okuyucu_Okuyucu

Okuyucu Sınıfı Bildirgesi

Reader sınıfının bildirimi aşağıda verilmiştir:

genel soyut sınıf Reader, Okunabilir Kapatılabilir'i uygular

Örnek: Reader sınıfını kullanarak bir metin dosyasını karakter karakter okuyun.

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

Çıkış:

Çıkışçıktı

Not: Programın doğru çalıştığından emin olmak için çalışma dizininde example1.txt adında bir dosya oluşturun.

Aşağıdaki içeriği dosyaya ekleyin veya herhangi bir metni ekleyebilirsiniz.

Merhaba Geeks için Geeks'e hoş geldiniz

Dosyayı kaydedin ve programı çalıştırın. Program, örnek1'in içeriğini okuyacak ve görüntüleyecektir. .txt çıktı olarak.

Reader Sınıfının Yapıcıları

Aşağıda belirtildiği gibi Java Reader Class ile kullanılan iki kurucu vardır:

  • korumalı Okuyucu(): Kritik bölümleri okuyucunun kendisi üzerinde senkronize edilecek yeni bir karakter akışı okuyucusu oluşturur.
  • korumalı Okuyucu (Nesne kilidi) : Kritik bölümleri verilen nesne üzerinde senkronize edilecek yeni bir karakter akışı okuyucusu oluşturur.

Java Reader Sınıfının Yöntemleri

Yöntem Tanım
soyut void close() Akışı kapatır ve kaynakları serbest bırakır.
geçersiz işaret(int readAheadLimit) Akıştaki geçerli konumu işaretler.
boolean markDesteklenen() İşaretleme/sıfırlama işlemlerinin desteklenip desteklenmediğini kontrol eder.
int okuma() Akıştan tek bir karakter okur. Sona ulaşılırsa -1 değerini döndürür.
int okuma(char[] cbuf) Bir diziye birden çok karakter okur.
abstract int read(char[] cbuf int off int len) Uzunluk uzunluğu için uzaklıktan başlayarak dizinin bir kısmını okur.
int read(CharBuffer hedefi) Karakterleri bir CharBuffer nesnesine okur.
geçersiz sıfırlama() Akışı en son işaret konumuna sıfırlar.
uzun atlama(uzun n) Belirtilen sayıda karakteri atlar.

Örnek: Aşağıdaki program, Java'daki Reader sınıfının çeşitli işlevlerinin çalışmasını göstermektedir.

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

Çıkış:

ÇıkışÇıkış

Okuyucu Sınıflarının Uygulanması

Java'daki Reader sınıflarının bazı uygulamaları aşağıda belirtilmiştir:

  • Tamponlu Okuyucu
  • Karakter Dizisi Okuyucusu
  • Filtre Okuyucu
  • Giriş Akışı Okuyucusu
  • Borulu Okuyucu
  • Dize Okuyucu
Test Oluştur