2009-07-01 207 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