2009-07-01 156 views
9

我试图在erlang中使用append模式在文件中写入一些内容,但它给出了错误作为错误的参数。Erlang文件追加模式

Syntax used: file:write_file("/tmp/test1.txt","Abhimanyu","append"). 
error:{error,badarg} 

谢谢

回答

7

上的附加问题“如果它不存在,不创建它”,你必须要使用类似文件更多的创意:read_file_info:

case file:read_file_info(FileName) of 
     {ok, FileInfo} -> 
       file:write_file(FileName, "Abhimanyu", [append]); 
     {error, enoent} -> 
       % File doesn't exist 
       donothing 
end. 

的追加模式(或写模式)将创建文件,如果它不存在...

4

我相信你需要:

file:write_file("/tmp/test1.txt", "Abhimanyu", [append]). 

我想你可能还需要将数据转换为二进制。

17

file:write_file函数期望最后一个参数是一个atoms iso列表的列表,因此将您的实现更改为file:write_file("/tmp/test1.txt","Abhimanyu", [append]).应该可以解决您的问题。更多的例子可以在TrapExit找到。

+0

Thanx的帮助...一件事我想知道它不会创建文件..如果它dodesnt存在。 – Abhimanyu 2009-07-01 08:22:55