在 Golang 中解壓縮受密碼保護的 Zip 檔案
最近發布的 Golang 1.2 引入了 archive/zip 套件。然而,它似乎提供了基本的 zip 功能,並且缺乏對解壓縮受密碼保護的 zip 檔案的支援。為了解決這個問題,另一種方法是使用 7zip。
解決方案:透過Go 的os/exec 套件使用7zip
鑑於7zip 提供了強大的zip 功能,包括密碼-受保護的解壓縮,我們可以利用Go 的os/exec 套件從Go 程式碼執行7zip 指令。
程式碼範例
以下Go 程式碼示範如何解壓縮使用7zip 的受密碼保護的zip 檔案:
<code class="go">import ( "fmt" "os" "os/exec" ) func main() { zipPath := "path/to/password-protected.zip" extractPath := "path/to/extract/to" password := "secret" // Construct the 7zip command string commandString := fmt.Sprintf(`7za e %s -o%s -p"%s" -aoa`, zipPath, extractPath, password) commandSlice := strings.Fields(commandString) // Execute the 7zip command c := exec.Command(commandSlice[0], commandSlice[1:]...) err := c.Run() if err != nil { panic(err) } fmt.Printf("Unzipped password-protected zip file to %s\n", extractPath) }</code>
用法用法
以上是如何在 Golang 中解壓縮受密碼保護的 Zip 檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!