logo

Java リーダー クラス

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

  • これは、read(CharBuffer cb) メソッドを定義する Readable インターフェイスを実装します。
  • リソースを解放する close() メソッドを定義する Closeable インターフェイスを実装します。
リーダー_' src='//techcodeview.com/img/java/58/java-reader-class.webp' title=リーダー

リーダークラスの宣言

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

bashのforループ

パブリック抽象クラス 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());  }  } } 

出力:

世界で一番美しい笑顔
出力' loading='lazy' src='//techcodeview.com/img/java/58/java-reader-class-1.webp' title=出力

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

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

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

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

Java リスト

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

出力:

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

リーダークラスの実装

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

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