2009-07-01 23 views
9

Sto cercando di scrivere del contenuto in file usando la modalità append in erlang ma dando errore come argomento errato.Erlang File Append mode

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

grazie

risposta

7

Sul "non crearlo se non esiste" domanda aggiuntiva, devi essere più creativo, utilizzando qualcosa di simile a 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. 

La modalità di aggiunta (o modalità di scrittura) creerà il file se non esiste ...

4

Credo che hai bisogno:

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

Credo che potrebbe anche essere necessario per convertire i dati in un file binario.

17

La funzione file:write_file si aspetta che l'ultimo argomento sia un elenco di atoms iso una stringa, pertanto la modifica dell'implementazione in file:write_file("/tmp/test1.txt","Abhimanyu", [append]). dovrebbe risolvere il problema. Ulteriori esempi possono essere trovati a TrapExit.

+0

Grazie per l'aiuto ... un'altra cosa voglio sapere che non creerà il file ... se esiste dodesnt. – Abhimanyu