Tôi đang phân tích cú pháp tệp .cvs. Đối với mỗi dòng của cvs, tôi tạo một đối tượng với các giá trị được phân tích cú pháp và đặt chúng vào một tập hợp.Java BufferedReader kiểm tra các dòng tiếp theo của vòng lặp trước khi lặp
Trước khi đưa đối tượng vào bản đồ và lặp lại tiếp theo, tôi cần kiểm tra xem dòng cvs tiếp theo có cùng một đối tượng với thực tế không, nhưng với giá trị thuộc tính cụ thể khác nhau.
Đối với điều đó, tôi cần kiểm tra các dòng tiếp theo của bộ đệm, nhưng giữ bộ đệm của vòng lặp ở cùng vị trí.
Ví dụ:
BufferedReader input = new BufferedReader(new InputStreamReader(new FileInputStream(file),"ISO-8859-1"));
String line = null;
while ((line = input.readLine()) != null) {
do something
while ((nextline = input.readLine()) != null) { //now I have to check the next lines
//I do something with the next lines. and then break.
}
do something else and continue the first loop.
}
'BufferedReader()' có các phương thức 'mark()' và 'reset()' có thể hỗ trợ bạn (tôi chưa bao giờ sử dụng các phương thức này sao cho tôi không đăng những câu trả lời này). – hmjd
Vấn đề thực tế là gì? –
Đơn giản chỉ cần gọi input.mark() mà không truyền bất kỳ tham số nào? –