亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何解壓單個文件?

如何解壓單個文件?

Go
慕桂英3389331 2023-07-26 13:24:50
我找到了很多有關如何從 .zip 中提取所有文件的示例,但我無法弄清楚如何在不迭代 .zip 文件中的所有文件的情況下提取單個文件。Go 是否可以從 .zip 存檔中提取單個文件,而無需迭代 .zip 文件中的所有文件?例如,如果 zip 文件包含:folder1/file1.txt folder1/file2.txt folder1/file3.txt folder2/file1.txt我該如何提取 folder2/file1.txt?
查看完整描述

1 回答

?
眼眸繁星

TA貢獻1873條經驗 獲得超9個贊

zip.Reader為您提供存檔的內容,文件作為(的)切片zip.File。沒有幫助方法可以按名稱獲取文件,您必須使用循環迭代文件。您不需要打開/提取文件,但要按名稱查找文件,您必須使用循環。


例如:


r, err := zip.OpenReader("testdata/readme.zip")

if err != nil {

? ? log.Fatal(err)

}

defer r.Close()


for _, f := range r.File {

? ? if f.Name != "folder2/file1.txt" {

? ? ? ? continue

? ? }


? ? // Found it, print its content to terminal:

? ? rc, err := f.Open()

? ? if err != nil {

? ? ? ? log.Fatal(err)

? ? }

? ? _, err = io.Copy(os.Stdout, rc)

? ? if err != nil {

? ? ? ? log.Fatal(err)

? ? }

? ? rc.Close()

? ? fmt.Println()

? ? break

}


查看完整回答
反對 回復 2023-07-26
  • 1 回答
  • 0 關注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號