栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Golang:将文件追加到现有的tar归档文件中

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Golang:将文件追加到现有的tar归档文件中

tar
文件规范状态:

tar归档文件由一系列512字节的记录组成。每个文件系统对象都需要一个标头记录,该记录存储基本元数据(路径名,所有者,权限等)以及零个或多个包含任何文件数据的记录。归档的末尾由两个完全由零字节组成的记录指示。

添加这两个零填充记录的Go实现在此处进行。

要绕开

tar
文件格式预告片(基本上是1024个字节,什么也没有),您可以替换以下行:

f, err = os.OpenFile("/home/jeff/Desktop/test.tar", os.O_APPEND|os.O_WRONLY, os.ModePerm)if err != nil {    log.Fatalln(err)}tw = tar.NewWriter(f)

带有:

f, err = os.OpenFile("/home/jeff/Desktop/test.tar", os.O_RDWR, os.ModePerm)if err != nil {    log.Fatalln(err)}if _, err = f.Seek(-1024, os.SEEK_END); err != nil {    log.Fatalln(err)}tw = tar.NewWriter(f)

它打开文件读/写(而不是附加/只写),然后在文件末尾查找1024个字节并从那里写。

它可以工作, 但这 一个可怕的骇客。

编辑:

tar
更好地了解文件规范后,我不再相信这是一个hack。

完整代码:http://play.golang.org/p/0zRScmY4AC



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/452396.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号