2010-01-08 18 views
7

Podczas korzystania z file:read_file(x) konieczne jest zamknięcie zwróconego pliku?Erlang, Czy konieczne jest zamknięcie pliku tutaj?

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

'Plik' zawiera zawartość pliku ... – Zed

+0

Odpowiednie pytanie podczas korzystania z' file: open/2', patrz [to pytanie] (http://stackoverflow.com/q/28066839/113848) . – legoscia

Odpowiedz

10

To nie jest plik, ale zawartość zwróconego pliku. Tak więc, nie ma pliku do zamknięcia. Spróbuj zmienić nazwę zmiennej do danych lub podobny, jak w poniższym kodzie:

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

Dane będą wtedy zawartość pliku „maillog.sample”. Plik funkcji: read_file/1 otworzy, przeczyta i zamknie plik dla ciebie, wszystko za jednym razem.

+0

Wow im głupi, ponieważ krotka powrotu jest podobna do wyjścia pliku: open (..) Właśnie założyłem, że to było oddanie urządzenia. Dzięki – jdc0589

8

Nie, to nie jest konieczne, aby zamknąć pliki file:read_file i file:consult.

Jak byś to zamknął, jeśli nawet nie masz pod ręką deskryptora pliku?

Powiązane problemy