Java リーダー クラス

Java リーダー クラス

Java の Reader クラスは、 抽象クラス 文字ストリームの読み取り用。そのサブクラス ( ファイルリーダー バッファ読み取り ) 文字を読み取るための主要なメソッドである read() の実装を提供します。

  • これは、read(CharBuffer cb) メソッドを定義する Readable インターフェイスを実装します。
  • リソースを解放する close() メソッドを定義する Closeable インターフェイスを実装します。
リーダー_リーダー

リーダークラスの宣言

Readerクラスの宣言は以下の通りです。

パブリック抽象クラス Reader は Readable Closeable を実装します

例: Reader クラスを使用して、テキスト ファイルを 1 文字ずつ読み取ります。

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

出力:

出力出力

注記: プログラムが正しく実行されることを確認するには、作業ディレクトリに example1.txt という名前のファイルを作成します。

次のコンテンツをファイルに追加するか、任意のテキストを追加できます。

こんにちは、オタクのためのオタクへようこそ

ファイルを保存してプログラムを実行します。プログラムは example1 の内容を読み取って表示します。 .txt 出力として。

Reader クラスのコンストラクター

以下に示すように、Java Reader Class で使用されるコンストラクターが 2 つあります。

  • 保護された Reader(): 新しい文字ストリーム リーダーを作成します。そのクリティカル セクションはリーダー自体で同期されます。
  • 保護されたリーダー(オブジェクトロック) : 指定されたオブジェクトでクリティカル セクションが同期される新しい文字ストリーム リーダーを作成します。

Java Readerクラスのメソッド

方法 説明
抽象的な void close() ストリームを閉じてリソースを解放します。
void マーク(int readAheadLimit) ストリーム内の現在位置をマークします。
ブールマークサポート済み() マーク/リセット操作がサポートされているかどうかを確認します。
int read() ストリームから 1 文字を読み取ります。最後に到達した場合は -1 を返します。
int read(char[] cbuf) 複数の文字を配列に読み取ります。
abstract int read(char[] cbuf int off int len) オフセット off から始まる配列の一部を長さ len にわたって読み取ります。
int read(CharBufferターゲット) 文字を CharBuffer オブジェクトに読み取ります。
ボイドリセット() ストリームを最新のマーク位置にリセットします。
ロングスキップ(ロングn) 指定された文字数をスキップします。

例: 以下のプログラムは、Java の Reader クラスのさまざまな機能の動作を示しています。

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

出力:

出力出力

リーダークラスの実装

Java での Reader クラスの実装の一部を以下に示します。

  • バッファリーダー
  • CharArrayReader
  • フィルターリーダー
  • 入力ストリームリーダー
  • パイプリーダー
  • 文字列リーダー
クイズの作成