Khi đọc từ một tệp văn bản, thông thường, hãy tạo ra một FileReader
và sau đó tổ rằng trong một số BufferedReader
. Tôi nên đóng hai người đọc nào khi đọc xong? Nó có quan trọng không?Đóng trình đọc lồng nhau
FileReader fr = null;
BufferedReader br = null;
try
{
fr = new FileReader(fileName);
br = new BufferedReader(fr);
// ...
}
finally
{
// should I close fr or br here?
}
Tôi hơi hoang tưởng khi nói đến ngoại lệ an toàn. Điều gì xảy ra khi nhà xây dựng BufferedReader
ném một ngoại lệ? Nó có đóng trình đọc lồng nhau không? Hoặc là nó đảm bảo không để ném?
+1. Thanh lịch hơn nhiều so với giải pháp của tôi. –
Giải pháp tốt nếu bạn đang làm việc với nhiều trình bao bọc có thể ném ngoại lệ (và tương tự). Tất nhiên, bạn có thể kiểm tra tài liệu và mã của 'BufferedReader' để xem liệu có thực sự có bất kỳ cơ hội nào của một ngoại lệ trong ctor hay không. – fwielstra