Erlang Central

Difference between revisions of "File exist"

From ErlangCentral Wiki

(redo; add race-condition warning.)
Line 1: Line 1:
The function ''filelib:is_regular/1'' could be used to verify that an file do exist or dose not exist.
+
The function filelib:is_file/1 returns true if its argument refers to an existing file or directory.  filelib:is_regular/1 more narrowly returns true on regular files.
  
Here is a example:
 
 
<code>
 
<code>
case filelib:is_regular(FileName) of
+
assert_config(Filename) ->
     true ->
+
     true = filelib:is_regular(Filename).
        io:format("File exist.\n");
+
 
    false ->
+
        io:format("File dose not exist.\n")
+
end
+
 
</code>
 
</code>
 +
 +
Generally you should assume that files exist, are readable, etc. -- and gracefully handle your failures.  You'll have to do this second part ''anyway'', as e.g. a file can be deleted after assert_config/1 succeeds and before your read_config/1 tries to open it.
 +
 
[[Category:CookBook]] [[Category:FileRecipes]]
 
[[Category:CookBook]] [[Category:FileRecipes]]

Revision as of 20:09, 18 October 2009

The function filelib:is_file/1 returns true if its argument refers to an existing file or directory. filelib:is_regular/1 more narrowly returns true on regular files.

assert_config(Filename) ->
    true = filelib:is_regular(Filename).

Generally you should assume that files exist, are readable, etc. -- and gracefully handle your failures. You'll have to do this second part anyway, as e.g. a file can be deleted after assert_config/1 succeeds and before your read_config/1 tries to open it.