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

问题描述:

我已经开发了这一功能,从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"

,但是当我改变F1F2F3在功能exporttxt()到:

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

然后test.txt只包含这些值:

"2" "ahmed" "alagi"

,我想test.txt包含:

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

的问题是,在函数的每次执行它记录了新的数据 并删除test.txt中的旧数据。

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

+1

您正在寻找append:http://*.com/questions/1067617/erlang-file-append-mode – filmor 2013-03-14 11:52:35

使用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模式适合您的需求。