Theo Java documentation, thông số readlimit của phương pháp đánh dấu trong máy chủ Lớp InputStream cho tập hợp "giới hạn tối đa byte có thể đọc trước khi vị trí đánh dấu trở thành không hợp lệ".. Tôi có tệp có tên sample.txt có nội dung là "xin chào". Và tôi đã viết mã này:Java: Giới hạn đánh dấu đầu vào
import java.io.*;
public class InputStream{
public static void main (String[] args) throws IOException {
InputStream reader = new FileInputStream("sample.txt");
BufferedInputStream bis = new BufferedInputStream(reader);
bis.mark(1);
bis.read();
bis.read();
bis.read();
bis.read();
bis.reset();
System.out.println((char)bis.read());
}
}
Đầu ra là "h". Nhưng nếu tôi sau khi phương pháp đánh dấu phương pháp đọc nhiều hơn một byte, tôi có nên gặp lỗi cho lệnh gọi phương thức đặt lại không hợp lệ không?
Bạn có biết bất kỳ việc triển khai InputStream nào để sử dụng để tạo lại kịch bản trong đó nếu tôi đọc nhiều byte hơn những gì được đặt bằng dấu() một ngoại lệ sẽ được ném không? –