BufferedReader類mark()方法 (BufferedReader 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 stream and whenever we call reset() method so it will reset the stream to the given point (read_from_here).
mark()方法用于標記此流中的當前位置,并且每當我們調用reset()方法時,都會將流重置到給定點(read_from_here)。
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 setting a limit.
設置限制時, mark()方法可能會引發異常。
- IllegalArgumentException: This exception may throw when the given parameter is negative.IllegalArgumentException :如果給定參數為負,則可能引發此異常。
- IOException: This exception may throw while performing input/output operation.IOException :在執行輸入/輸出操作時,可能會拋出此異常。
Syntax:
句法:
public void mark(int read_from_here);
Parameter(s):
參數:
int read_from_here – represents the number of bytes to read during mark() preserves.
int read_from_here –表示mark()保留期間要讀取的字節數。
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
// BufferedReader
import java.io.*;
public class MarkBR {
public static void main(String[] args) throws Exception {
// To open text file by using
// FileInputStream
FileInputStream fis = new FileInputStream("e:/includehelp.txt");
// Instantiates InputStreamReader
InputStreamReader inp_r = new InputStreamReader(fis);
// Instantiates BufferedReader
BufferedReader buff_r = new BufferedReader(inp_r);
// Read character from the stream
char ch1 = (char) buff_r.read();
char ch2 = (char) buff_r.read();
char ch3 = (char) buff_r.read();
System.out.println("ch1: " + ch1);
System.out.println("ch2 : " + ch2);
// By using mark() method isto
// set the limit the number of byte
// to be read
System.out.println("buff_r.mark(5): ");
buff_r.mark(5);
System.out.println("ch3: " + ch3);
// reset stream by using reset()
System.out.println("buff_r.reset(): ");
buff_r.reset();
// Read from the stread
char ch4 = (char) buff_r.read();
char ch5 = (char) buff_r.read();
// Display character
System.out.println("ch4: " + ch4);
System.out.println("ch5: " + ch5);
fis.close();
inp_r.close();
buff_r.close();
}
}
Output
輸出量
ch1: H
ch2 : e
buff_r.mark(5):
ch3: l
buff_r.reset():
ch4: l
ch5: o
翻譯自: https://www.includehelp.com/java/bufferedreader-mark-method-with-example.aspx