分片读取文件
概念说明
分片读取是指每次读取固定大小的一段内容。
它适合读取较大的文件,避免一次性把全部内容加载到内存。
读取到文件末尾时,Read 会返回 io.EOF。io.EOF 表示正常结束,不应当成普通错误直接 panic。
语法/规则
- 使用
os.Open(path)打开文件。 - 使用
file.Read(buffer)把数据读入缓冲区。 n表示本次实际读取的字节数。- 处理内容时必须使用
buffer[:n],不能直接用整个 buffer。 - 遇到
io.EOF时结束循环。
分片读取示例
| |
输出结果:
| |
常见错误
- 直接使用整个
buffer,导致最后一次读取混入旧数据。 - 把
io.EOF当成异常 panic,实际它表示文件读取结束。 - 打开文件后忘记
Close,导致文件句柄泄漏。