Programming Erlang 第13章笔记 文件编程

文件编程

译者: gashero

目录

本章我们会看看文件管理的常见函数。Erlang标准发布版包含大量文件管理函数。我们看看程序中最常用的一部分。也会看一些文件操作的例子。另外也会提及一些罕见的文件操作,以便让你知道,他们是存在的。如果你想了解更多,去看手册吧。

1   库的组织

文件管理函数被阻止到了4个模块中:

file :用于打开、关闭、读取、写入文件、列目录等等的例程。 file 模块中的最常用函数在13.2节中有所讲解。更多细节请参考手册。

filename :管理不同平台上的文件名形式的细节,所以你可以在不同操作系统上使用相同的代码。

filelib :是 file 模块的扩展,包含一些列出文件、检查文件类型等等的函数。大部分都是使用 file 模块的函数来编写的。

io :在打开的文件上的操作函数。包含解析数据、按照格式写入数据到文件等。

2   读取文件的不同方式

让我们先看看读取文件的一些选项。首先写一个小程序来打开文件和读取数字,通过几种不同方式。

文件的内容只是字节流。他们的意义依赖于如何解释。

为了演示,我们对所有例子使用相同的文件。它事实上包含Erlang术语的序列。依赖于如何打开和读取文件,我们可以把内容解释为一列Erlang术语,作为一系列文本行,或者作为原始的二进制数据而不作任何解释。

这是原始文件:

{person, "joe", "armstrong",
    [{occupation, programmer},
     {favoriteLanguage, erlang}]}.

{cat, {name, "zorro"},
      {owner, "joe"}}.

现在我们用几种方式来读取它。

file 模块中的函数及其解释:

函数 解释
change_group 改变文件所属的组
change_owner 改变文件的拥有者
change_time 改变文件的修改时间和上次访问时间
close 关闭文件
consolt 从文件读取Erlang术语
copy 复制文件内容
del_dir 删除目录
delete 删除文件
eval 求值文件中的Erlang表达式
format_error 返回描述字符串或错误原因
get_cwd 获取当前工作目录
list_dir 列出一个目录中的所有文件
make_dir 新建目录
make_link 新建硬链接
make_symlink 新建符号链接
open 打开文件
position 设置文件指针位置
pread 在指定位置读取文件
pwrite 在指定位置写入文件
read 从文件读取
read_file 返回整个文件
read_file_info 获取文件信息
read_link 获取链接指向的位置
read_link_info 获取链接或文件的信息
rename 重命名文件
script 求值并返回文件中的Erlang表达式
set_cwd 设置当前工作目录
sync 同步内存缓冲到硬盘
truncate 截短文件
write 写入到文件
write_file 写入整个文件
write_file_info 改变文件信息

2.1   读取文件中的所有术语

Leave a Reply