2009-07-01 25 views
9

Tôi cố gắng viết một số nội dung trong tập tin bằng cách sử dụng chế độ nối thêm trong erlang nhưng nó cho lỗi như đối số xấu.Erlang File Append mode

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

cảm ơn bạn

Trả lời

7

Trên "không tạo ra nó nếu nó không tồn tại" Câu hỏi bổ sung, bạn phải sáng tạo hơn bằng cách sử dụng một cái gì đó giống như 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. 

Phương thức append (hoặc chế độ viết) sẽ tạo tệp nếu nó không tồn tại ...

4

Tôi tin rằng bạn cần:

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

Tôi nghĩ bạn cũng có thể cần phải chuyển đổi dữ liệu của bạn vào một nhị phân.

17

Hàm file:write_file hy vọng đối số cuối cùng là danh sách atoms iso là chuỗi để thay đổi triển khai của bạn thành file:write_file("/tmp/test1.txt","Abhimanyu", [append]). sẽ giải quyết vấn đề của bạn. Bạn có thể tìm thêm các ví dụ tại TrapExit.

+0

Thanx để được trợ giúp ... một điều nữa tôi muốn biết nó sẽ không tạo tệp ..if nó tồn tại. – Abhimanyu