本章介绍用于查找、创建、查看、保存以及以其他方式操作文件和目录的 Emacs Lisp 函数与变量。另有一些与文件相关的函数,见缓冲区,与备份和自动保存相关的内容,见备份与自动保存。
多数文件函数会接受一个或多个文件名参数。文件名是一个字符串。这些函数大多会通过 expand-file-name 函数展开文件名参数,从而正确处理 ~ 以及相对文件名(包括 ../ 和空字符串)。See 文件名展开相关函数。
此外,某些 魔术(magic)文件名会被特殊处理。例如,当指定远程文件名时,Emacs 会通过合适的协议经由网络访问该文件。See Remote Files in The GNU Emacs Manual。这类处理在底层完成,因此你可以假定本章描述的所有函数均接受魔术文件名作为文件名参数,除非另有说明。See 实现“魔法”文件名机制。
当文件 I/O 函数触发 Lisp 错误时,通常使用 file-error 条件(see 编写处理错误的代码)。错误信息大多取自操作系统,依据区域设置 system-messages-locale 并通过编码系统 locale-coding-system 解码(see Locales)。