2010-01-08 23 views
7

Khi sử dụng file:read_file(x) là cần thiết để đóng tệp trả về?Erlang, Bạn có cần đóng tệp ở đây không?

{ok, File} = file:read_file("maillog.sample"), 
file:close(File), 
+4

'Tệp' chứa nội dung của tệp ... – Zed

+0

Đối với câu hỏi tương ứng khi sử dụng tệp': mở/2', xem [câu hỏi này] (http://stackoverflow.com/q/28066839/113848) . – legoscia

Trả lời

10

Đây không phải là tệp nhưng nội dung của tệp được trả về. Do đó, không có tệp nào để đóng. Hãy thử thay đổi tên biến để dữ liệu hoặc tương tự như trong đoạn code dưới đây:

{ok, Data} = file:read_file("maillog.sample"), 

dữ liệu sau đó sẽ có các nội dung của tập tin "maillog.sample". Tệp chức năng: read_file/1 sẽ mở, đọc và đóng tệp cho bạn, tất cả trong một lần.

+0

Wow im dumb, vì tuple trở lại tương tự như đầu ra của tập tin: mở (..) Tôi chỉ giả định nó đã trả lại một thiết bị. Cảm ơn – jdc0589

8

Không cần đóng các tệp cho file:read_filefile:consult.

Bạn sẽ đóng nó như thế nào, nếu bạn thậm chí không có bộ mô tả tệp trong tầm tay?

Các vấn đề liên quan