Java CharArrayReader mark()方法与示例
CharArrayReader类mark()方法
mark()方法在java.io包中可用。
mark()方法用于标记流中的当前位置,并在每次调用reset()方法时将其重置,以将流重置为由mark()方法的最新调用设置的位置。
mark()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。
mark()方法在标记流时可能会引发异常。
IOException:如果给定参数无效,则可能引发此异常。
语法:
public void mark(int r_limit);
参数:
intr_limit–表示保留标记时可以读取的字符数限制。
返回值:
该方法的返回类型为void,不返回任何内容。
示例
//Java程序演示示例
空隙标记的//(INTr_limit)的方法
//CharArrayReader-
import java.io.*;
public class MarkOfCAR {
public static void main(String[] args) {
CharArrayReader car_stm = null;
char[] c_arr = {
'a',
'b',
'c',
'd'
};
try {
//实例化CharArrayReader-
car_stm = new CharArrayReader(c_arr);
//通过使用read()isto方法
//从car_stm中读取字符
int i1 = car_stm.read();
int i2 = car_stm.read();
int i3 = car_stm.read();
int i4 = car_stm.read();
System.out.println("i1: " + i1);
//通过使用mark()isto方法
//在此设置当前位置
//car_stm-
System.out.println("car_stm.mark(0): ");
car_stm.mark(0);
System.out.println("i2: " + i2);
System.out.println("i3: " + i3);
//通过使用reset()isto方法
//将流重置到位置
//通过调用mark()方法设置
System.out.println("car_stm.reset(): ");
car_stm.reset();
System.out.println("i2: " + i2);
System.out.println("i3: " + i3);
System.out.println("i4: " + i4);
} catch (IOException e) {
System.out.print("Stream closed!!!!");
} finally {
//释放所有链接的系统资源
//关闭后与流一起
//流
if (car_stm != null)
car_stm.close();
}
}
}输出结果
i1: 97 car_stm.mark(0): i2: 98 i3: 99 car_stm.reset(): i2: 98 i3: 99 i4: 100