ByteArrayInputStream类mark()方法 (ByteArrayInputStream Class mark() method)
mark() method is available in java.util package.
mark()方法在java.util包中可用。
mark() method is used to set the current mark position in the stream from where read or write can be reset.
mark()方法用于设置流中的当前标记位置,从该位置可以重置读取或写入。
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 seeking mark position.
在寻求标记位置时, mark()方法可能会引发异常。
IOException: This exception may throw while performing input/output operations.
IOException :在执行输入/输出操作时,可能会抛出此异常。
Syntax:
句法:
public void mark(int read_from_here);
Parameter(s):
参数:
int read_from_here – represents the mark position where reading or writing can start.
int read_from_here –表示可以开始读取或写入的标记位置。
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 read_from_here) method of
// ByteArrayInputStream
import java.io.*;
public class MarkBAIS {
public static void main(String[] args) throws Exception {
byte[] by = {
97,
98,
98,
99
};
// Instantiates ByteArrayInputStream
ByteArrayInputStream byte_s = new ByteArrayInputStream(by);
// By using available() method is to
// return the no. of bytes to be left
// for reading
Integer n_byte = byte_s.available();
System.out.println("Left avail bytes = " + n_byte);
// Read character from the stream
char ch1 = (char) byte_s.read();
char ch2 = (char) byte_s.read();
char ch3 = (char) byte_s.read();
System.out.println("ch1: " + ch1);
System.out.println("ch2 : " + ch2);
System.out.println("byte_s.mark(5): ");
// By using mark() method isto
// set the limit the number of byte
// to be read
byte_s.mark(5);
System.out.println("ch3: " + ch3);
System.out.println("buff_str.reset(): ");
// reset stream by using reset()
byte_s.reset();
// Read from the stread
char ch4 = (char) byte_s.read();
char ch5 = (char) byte_s.read();
// Display character
System.out.println("ch4: " + ch4);
System.out.println("ch5: " + ch5);
byte_s.close();
}
}
Output
输出量
Left avail bytes = 4
ch1: a
ch2 : b
byte_s.mark(5):
ch3: b
buff_str.reset():
ch4: c
ch5: ?
翻译自: https://www.includehelp.com/java/bytearrayinputstream-mark-method-with-example.aspx