在 Elixir(或 Erlang)中,如果我有一个内存文件,我如何找到它的长度(以字节为单位)?
{:ok, fd} = :file.open("", [:ram, :read, :write])
:file.write(fd, "hello")
最佳答案
不确定是否有更好的方法,但这就是我所做的:
def get_length(fd) do
{:ok, cur} = :file.position(fd, {:cur, 0})
try do
:file.position(fd, {:eof, 0})
after
:file.position(fd, cur)
end
end
用法:
{:ok, fd} = :file.open("", [:ram, :read, :write])
:ok = :file.write(fd, "hello")
{:ok, len} = get_length(fd)
关于elixir - 查找 Elixir/Erlang 内存文件的长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43770144/