Erlang文件

Erlang文件操作的基础模块是file模块

我最喜欢的一种文本文件读写方法
写列表到Erlang数据文件
{ok, S} = file:open(File, Write),
lists:foreach(fun(X)->io:format(S,"~p.~n", [X]) end, L),
file:close(S).


随机写文件
{ok, S} = file:open(File, write),
io:format(S, "~s~n", ["Hello world"]),
io:format(S, "~w~n", [1234]),
io:format(S, '~p~n", [{age,27},{name,"song"}]),
file:close(S).

读取整个Erlang数据文件,存到列表变量
{ok,List} = file:consult(File)
出错则返回 {error,Why}
列表的每一个元素在文件中以'.'分割

文件中的Erlang数据用'.'分割,形如:
{name,{{first,jason},{last,james}}}.
{address,"china shanghai"}.

-------------------------------------------------


读取整个文件,存到二进制变量
{ok, Bin} = file:read_file(File)
出错则返回 {error,Why}

将二进制数据写入整个文件
file:write_file(File, Bin)

二进制数据可转换成列表
binary_to_list(Bin)

--------------------------------------------------------
查询文件的属性
file:read_file_info(File) 返回的数据符合记录#file_info(在文件file.hrl中定义)

复制文件
file:copy(SrcFile, DestFile)

删除文件
file:delete(File)

---------------------------------
file模块有三个函数用来操纵目录,Dir可以是绝对路径活相对路径
file:list_dir(Dir)生成Dir目录下的文件列表
file:make_dir(Dir)创建一个新的目录
file:del_dir(Dir)删除一个目录


注:file:list_dir(Dir)和file:read_file_info(File)结合可以实现文件搜索/遍历功能




 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值