Reader rdr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(rdr);
String s;
s = br.readLine();
br.close();
Scanner sc = new Scanner(System.in);
s = sc.nextLine();
System.out.print(s);
tôi đã nhận thấy rằng nếu tôi đóng BufferedReader
, tôi sẽ không thể để chèn vào từ bàn phím nữa, như System.in
được bằng cách nào đó đóng cửa. Có anyway tôi có thể giữ br.close()
(tôi cần rằng để xóa một tập tin) và sau đó thêm nhiều đầu vào từ bàn phím?Đóng BufferedReader và System.in
xóa tệp nào? BufferedReaders có nghĩa là bị ràng buộc với luồng đầu vào cụ thể. Khi bạn đóng chúng, bạn không thể sử dụng lại chúng. – soulcheck
Bạn * thực sự * không cần phải đóng 'br' để xóa tệp. –
Nếu bạn đang đọc từ một tệp và sử dụng 'BufferedReader' tối đa một số điểm và sau đó đóng' BufferedReader' và sau đó đọc thêm từ luồng tệp, bạn sẽ bỏ lỡ một số byte. Các byte này được tiêu thụ bởi bộ đọc đệm (để đệm). Bạn sẽ cần phải tìm một cách khác. Tại sao bạn cần chuyển từ lớp con Reader sang Máy quét? Một số hạn chế api? Trong cả hai trường hợp, bạn có thể thực hiện các công việc khác nhau, ví dụ bằng cách sử dụng lớp con 'RandomAccessFile' và/hoặc một lớp con Máy quét tùy chỉnh có thể thực hiện các thao tác của Reader. –