> Erlang中文手册 > write/2 向一个文件引用写入数据

file:write/2

向一个文件引用写入数据

用法:

write(IoDevice, Bytes) -> ok | {error, Reason}

向一个文件引用 IoDevice 写入数据 Bytes。这个函数只在以 raw 模式打开的文件写入数据进一个文件(然而以正常模式打开文件的话也会成功执行)。如果执行成功,则返回 ok,否则返回 {error, Reason}。

如果文件打开的编码是除 latin1 之外的其他编码,每一个写入的字节可能在被写入的文件里实际上是占据几个字节,因为 0 至 255 的字节也许代表着任何 1 到 4 个字节,这取决于值和 UTF 的编码类型。

一些典型的错误原因:

  • ebadf:文件没有可写的方式打开。
  • enospc:硬盘上没有足够的写入空间。
Data = "{person, 'kalle', 25}.",
{ok, Fd} = file:open("/app/test.txt", [write, raw]),
file:write(Fd, list_to_binary(Data)),
file:close(Fd).