mark()
方法mark()方法在java.io包中可用。
mark()方法用于标记流中的当前位置,并在每次调用reset()
方法时将其重置,以将流重置为由mark()
方法的最新调用设置的位置。
mark()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。
mark()方法在标记流时可能会引发异常。
IOException:如果给定参数无效,则可能引发此异常。
语法:
public void mark(int r_limit);
参数:
int r_limit –表示保留标记时可以读取的字符数限制。
返回值:
该方法的返回类型为void,不返回任何内容。
示例
// Java程序演示示例 空隙标记的//(INT r_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