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