Go语言压缩文件读写
压缩文件读写
tar包实现了tar格式压缩文件的存取。本包目标是覆盖大多数tar的变种,包括GNU和BSD生成的tar文件。
压缩文件读写常用函数和方法:
NewWriter创建一个写入w的*Writer。
FileInfoHeader返回一个根据fi填写了部分字段的Header。 如果fi描述一个符号链接,FileInfoHeader函数将link参数作为链接目标。如果fi描述一个目录,会在名字后面添加斜杠。因为os.FileInfo接口的Name方法只返回它描述的文件的无路径名,有可能需要将返回值的Name字段修改为文件的完整路径名。
WriteHeader写入hdr并准备接受文件内容。如果不是第一次调用本方法,会调用Flush。在Close之后调用本方法会返回ErrWriteAfterClose。
Write向tar档案文件的当前记录中写入数据。如果写入的数据总数超出上一次调用WriteHeader的参数hdr.Size字节,返回ErrWriteTooLong错误。
Flush结束当前文件的写入。(可选的)
Close关闭tar档案文件,会将缓冲中未写入下层的io.Writer接口的数据刷新到下层。
NewReader创建一个从r读取的Reader。
转入tar档案文件下一记录,它会返回下一记录的头域。
从档案文件的当前记录读取数据,到达记录末端时返回(0, EOF),直到调用Next方法转入下一记录。
tar.gz 文件写入,代码实现:
tar.gz 文件读取,代码实现:
其它压缩文件操作
compress/flate 包实现了deflate压缩数据格式。gzip包和zlib包实现了对基于deflate的文件格式的访问。
compress/gzip 包实现了gzip格式压缩文件的读写。
compress/zlib 包实现了对zlib格式压缩数据的读写。
下一篇:
Go语言文件操作应用------敬请期待!
第十一章 并发编程
第十二章 反射
第十三章 数据格式
第十四章 终端读取
第十五章 文件操作
领取专属 10元无门槛券
私享最新 技术干货