stringreader
StringReader类mark()方法 (StringReader Class mark() method)
mark() method is available in java.io package.
mark()方法在java.io包中可用。
mark() method is used to mark the current position in this StringReader stream. When we call reset() subsequently, it resets the stream to this mark.
mark()方法用于标记此StringReader流中的当前位置。 当我们随后调用reset()时,它将流重置为该标记。
mark() method is a non-static method, it is accessible with the class object only and if we try to access the method with the class name then we will get an error.
mark()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。
mark() method may throw an exception at the time of marking the stream.
mark()方法在标记流时可能会引发异常。
- IOException: This exception may throw when getting any input/output error while performing.IOException :在执行过程中遇到任何输入/输出错误时,可能引发此异常。
- IllegalArgumentException: This exception may throw when the given parameter is negative.IllegalArgumentException :如果给定参数为负,则可能引发此异常。
Syntax:
句法:
public void mark(int r_limit);
Parameter(s):
参数:
int r_limit – represents the limit on the number of characters that can be read while preserving the mark.
int r_limit –表示保留标记时可以读取的字符数限制。
Return value:
返回值:
The return type of the method is void, it returns nothing.
该方法的返回类型为void ,不返回任何内容。
Example:
例:
// Java program to demonstrate the example
// of void mark(int r_limit) method of StringReader
import java.io.*;
public class MarkOfSR {
public static void main(String[] args) throws Exception {
StringReader str_r = null;
try {
// Instantiates StringReader
str_r = new StringReader("JavaWorld!");
// By using read() method isto
// read the character from str_r
char ch1 = (char) str_r.read();
char ch2 = (char) str_r.read();
char ch3 = (char) str_r.read();
System.out.println("ch1: " + ch1);
System.out.println("ch2: " + ch2);
System.out.println("ch3: " + ch3);
// By using mark() method isto
// set the current position in this
// str_r
System.out.println("str_r.mark(1): ");
str_r.mark(1);
char ch4 = (char) str_r.read();
char ch5 = (char) str_r.read();
System.out.println("ch4: " + ch4);
System.out.println("ch5: " + ch5);
// By using reset() method isto
// reset the stream to the position
// set by the call mark() method
System.out.println("str_r.reset(): ");
str_r.reset();
char ch6 = (char) str_r.read();
char ch7 = (char) str_r.read();
char ch8 = (char) str_r.read();
char ch9 = (char) str_r.read();
char ch10 = (char) str_r.read();
char ch11 = (char) str_r.read();
char ch12 = (char) str_r.read();
System.out.println("ch4: " + ch6);
System.out.println("ch5: " + ch7);
System.out.println("ch6: " + ch8);
System.out.println("ch7: " + ch9);
System.out.println("ch8: " + ch10);
System.out.println("ch9: " + ch11);
System.out.println("ch10: " + ch12);
} catch (Exception ex) {
System.out.println(ex.toString());
} finally {
// with the help of this block is to
// free all necessary resources linked
// with the stream
if (str_r != null) {
str_r.close();
}
}
}
}
Output
输出量
ch1: J
ch2: a
ch3: v
str_r.mark(1):
ch4: a
ch5: W
str_r.reset():
ch4: a
ch5: W
ch6: o
ch7: r
ch8: l
ch9: d
ch10: !
翻译自: https://www.includehelp.com/java/stringreader-mark-method-with-example.aspx
stringreader