# 第六章 文件系统 #
Go 的标准库提供了很多工具,可以处理文件系统中的文件、构造和解析文件名等。
处理文件的第一步是确定要处理的文件的名字。Go 将文件名表示为简单的字符串,提供了 `path`、`filepath` 等库来操作文件名或路径。用 `os` 中 `File` 结构的 `Readdir` 可以列出一个目录中的内容。
可以用 `os.Stat` 或 `os.Lstat` 来检查文件的一些特性,如权限、大小等。
有时需要创建草稿文件来保存临时数据,或将数据移动到一个永久位置之前需要临时文件存储,`os.TempDir` 可以返回默认的临时目录,用于存放临时文件。关于临时文件,在 `ioutil` 中已经讲解了。
`os` 包还包含了很多其他文件系统相关的操作,比如创建目录、重命名、移动文件等等。
由于本章探讨文件系统相关知识,`os` 包中关于进程相关的知识会在后续章节讲解。
# 导航 #
- [第五章](/chapter05/05.0.md)
- 下一节:[os — 平台无关的操作系统功能实现](06.1.md)
- 简介
- 第一章 输入输出 (Input/Output)
- 1.1 io — 基本的 IO 接口
- 1.2 ioutil — 方便的 IO 操作函数集
- 1.3 fmt — 格式化 IO
- 1.4 bufio — 缓存 IO
- 第二章 文本
- 2.1 strings — 字符串操作
- 2.2 bytes — byte slice 便利操作
- 2.3 strconv — 字符串和基本数据类型之间转换
- 2.4 regexp — 正则表达式
- 2.5 unicode — Unicode 码点、UTF-8/16 编码
- 第三章 数据结构与算法
- 3.1 sort — 排序算法
- 3.2 index/suffixarray — 后缀数组实现子字符串查询
- 3.3 container — 容器数据类型:heap、list 和 ring
- 第四章 日期与时间
- 4.1 主要类型概述
- 4.2 时区
- 4.3 Time类型详解
- 4.4 定时器
- 第六章 文件系统
- 6.1 os — 平台无关的操作系统功能实现
- 6.2 path/filepath — 操作路径
- 第七章 数据持久存储与交换
- 7.1 database/sql — SQL/SQL-Like 数据库操作接口
- 第八章 数据压缩与归档
- 8.1 flate * DEFLATE 压缩算法
- 第九章 测试
- 9.1 testing * 单元测试
- 9.2 testing * 基准测试
- 9.3 testing * 子测试
- 9.4 testing * 运行并验证示例
- 9.5 testing * 其他功能
- 9.6 httptest * HTTP 测试辅助工具
- 9.7 总结
- 第十章 进程、线程与 goroutine
- 10.1 创建进程
- 10.2 进程属性和控制
- 10.3 线程
- 10.4 进程间通信
- 第十三章 应用构建 与 debug
- 13.1 flag * 命令行参数解析
- 13.2 log * 日志记录
- 13.3 expvar * 公共变量的标准化接口
- 13.4 runtime/debug * 运行时的调试工具