BufferedInputStream类mark()方法 (BufferedInputStream Class mark() method)
mark() method is available in java.io package.
mark()方法在java.io包中可用。
mark() method is used to set the limit of bytes to be read before the given set limit or marked position.
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 does not throw an exception at the time of setting the limit.
设置限制时, mark()方法不会引发异常。
Syntax:
句法:
public void mark(int m_limit);
Parameter(s):
参数:
int m_limit – represents the number of bytes to read before the marked limit (m_limit).
int m_limit –表示在标记的限制(m_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 m_limit) method of
// BufferedInputStream
import java.io.*;
public class MarkBIS {
public static void main(String[] args) throws Exception {
// To open text file by using
// FileInputStream
FileInputStream fis = new FileInputStream("e:/includehelp.txt");
// By using BufferedInputStream() isto change
// the stream fis into buff_str
BufferedInputStream buff_str = new BufferedInputStream(fis);
// By using available() method is to
// return the no. of bytes to be left
// for reading
Integer n_byte = buff_str.available();
System.out.println("Left avail bytes = " + n_byte);
// Read character from the stream
char ch1 = (char) buff_str.read();
char ch2 = (char) buff_str.read();
char ch3 = (char) buff_str.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
buff_str.mark(5);
System.out.println("ch3: " + ch3);
// reset stream by using reset()
buff_str.reset();
// Read from the stread
char ch4 = (char) buff_str.read();
char ch5 = (char) buff_str.read();
// Display character
System.out.println("ch4: " + ch4);
System.out.println("ch5: " + ch5);
fis.close();
buff_str.close();
}
}
Output
输出量
Left avail bytes = 33
ch1: H
ch2 : e
ch3: l
ch4: l
ch5: o
翻译自: https://www.includehelp.com/java/bufferedinputstream-mark-method-with-example.aspx