Java-io-chararrayreader-mark

提供:Dev Guides
移動先:案内検索

Java.io.CharArrayReader.mark()メソッド

説明

  • java.io.CharArrayReader.mark(int readAheadLimit)*メソッドは、ストリーム内の現在の位置をマークします。 reset()を呼び出すと、ストリームがこの位置に再配置されます。

宣言

以下は* java.io.CharArrayReader.mark(int readAheadLimit)*メソッドの宣言です-

public void mark(int readAheadLimit)

パラメーター

*readAheadLimit* -パラメーターは、マークを保持しながら読み取ることができる文字数の制限を設定します。 ストリームの入力は文字配列から来るため、実際の制限はないため、引数は通常無視されます。

戻り値

メソッドは値を返しません。

例外

*IOException* -I/Oエラーが発生した場合。

次の例は、java.io.CharArrayReader.mark(int readAheadLimit)メソッドの使用方法を示しています。

package com.finddevguides;

import java.io.CharArrayReader;
import java.io.IOException;

public class CharArrayReaderDemo {
   public static void main(String[] args) {      CharArrayReader car = null;
      char[] ch = {'A', 'B', 'C', 'D', 'E'};

      try {
        //create new character array reader
         car = new CharArrayReader(ch);

        //read and print the characters from the stream
         System.out.println(car.read());
         System.out.println(car.read());

        //mark() is invoked at this position
         car.mark(0);
         System.out.println("Mark() is invoked");
         System.out.println(car.read());
         System.out.println(car.read());

        //reset() is invoked at this position
         car.reset();
         System.out.println("Reset() is invoked");
         System.out.println(car.read());
         System.out.println(car.read());
         System.out.println(car.read());

      } catch(IOException e) {
        //if I/O error occurs
         System.out.print("Stream is already closed");
      } finally {
        //releases any system resources associated with the stream
         if(car!=null)
            car.close();
      }
   }
}

上記のプログラムをコンパイルして実行すると、次の結果が生成されます-

65
66
Mark() is invoked
67
68
Reset() is invoked
67
68
69