如何在不覆盖文件的现有内容的情况下将输出写入文本文件?

时间:2013-03-14 11:48:56

标签: file-io erlang

我开发了此功能,可将数据从erlang传输到.txt文件:

exporttxt()->

F1 ="1",
F2 = "afif",
F3 = "kaled",

file:write_file("test.txt",[io_lib:format("~p\t~p\t~p~n",[F1,F2,F3])] ).

运行此函数后,test.txt包含以下值:

"1" "afif" "kaled"

但是当我将函数F1中的F2F3exporttxt()更改为:

F1 ="2"
F2 ="ahmed"
F3 = "alagi"

然后test.txt只包含以下值:

"2" "ahmed" "alagi"

我希望test.txt包含:

"1"  "afif"  "kaled"
"2"  "ahmed" "alagi"

问题是每次执行该功能时都会记录新数据 并删除test.txt中的旧数据。

如何在不覆盖现有数据的情况下将新数据写入test.txt

1 个答案:

答案 0 :(得分:4)

此时使用file:write_file/3

第三个论点是Modes。可读模式列表为| write | append | exclusive | raw | binary | {delayed_write, Size, Delay} | delayed_write | {read_ahead, Size} | read_ahead | compressed | {encoding, Encoding}append模式可满足您的需求。