file:open/2
打开一个文件
用法:
open(Filename, Modes) -> {ok, IoDevice} | {error, Reason}
根据模式 Mods 来打开一个文件 Filename。
以只读的模式打开:
{ok, File} = file:open("/app/rebar.config", [read]).
以写的模式打开(如果文件不存在,创建一个新文件):
{ok, File} = file:open("/app/rebar.config", [write]).
以读写的模式打开:
{ok, File} = file:open("/app/rebar.config", [read, write]).
以 append 的模式打开的文件,并在文件末尾进行写操作(如果文件不存在,创建一个新文件):
{ok, File} = file:open("/app/rebar.config", [append]).
以 raw、binary 模式打开文件:
{ok, File} = file:open("/app/rebar.config", [raw, binary]).
一些典型的错误标示:
- enoent:文件不存在
- eacces:缺少访问文件或在父目录下查找文件的权限
- eisdir:文件不是一个正规合法的文件,它也许是一个目录、一个输入输出或是一个设备
- enotdir:文件名的某个父目录不是一个正常目录,在一些平台(例如 Window),会用 enoent 代替返回
- enospc:设备的硬盘空间不足(如果指定了写操作)
可以使用 file:format_error/1 函数来获取以上错误标识的直观错误描述
file:format_error(enoent).
file:format_error(eacces).
file:format_error(eisdir).
file:format_error(enotdir).
file:format_error(enospc).