Tôi đang chơi xung quanh với cách viết một tập hợp các đối tượng vào một tập tin. Tại sao việc triển khai dưới đây sử dụng Iterable.forEach() không biên dịch? Trong Eclipse, tôi nhận được thông báo rằng một IOException không được xử lý. Điều này đặc biệt khó hiểu vì tôi dường như đang xử lý IOExceptions.Làm thế nào để xử lý IOException trong Iterable.forEach?
public void write(Iterable<?> objects) {
try (BufferedWriter bw = new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream("out.txt"), "UTF-8"));) {
objects.forEach((o) -> bw.write(o.toString())); //Unhandled exception type IOException
} catch (IOException e) {
//handle exception
}
}
Rõ ràng, các công trình bên dưới. Tôi quan tâm đến lý do tại sao ở trên không hoạt động và cách khắc phục.
for (Object o : objects) { bw.write(o.toString()); }
Tôi đã kiểm tra các tài liệu Consumer và Iterable, và không ai trong số họ dường như cho thấy làm thế nào để giải quyết việc này.
Bạn có thể biên dịch nó thông qua dòng lệnh không? Phiên bản nhật thực nào? – javajavajava