Erlang文件追加模式

Abh*_*nyu 10 erlang

我试图在erlang中使用追加模式在文件中写一些内容,但它将错误视为错误的参数.

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

谢谢

Bas*_*ink 17

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


Ala*_*ore 9

在"不要创建它,如果它不存在"的附加问题,你必须通过使用像file: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.
Run Code Online (Sandbox Code Playgroud)

如果文件不存在,附加模式(或写入模式)将创建该文件...


pgs*_*pgs 5

我相信您需要:

file:write_file("/tmp/test1.txt", "Abhimanyu", [append]).
Run Code Online (Sandbox Code Playgroud)

我认为您可能还需要将数据转换为二进制文件。