报错信息:f.SetPassword undefined (type *zip.File has no field or method SetPassword)
代码:
package main
import (
"archive/zip"
"fmt"
"io"
"os"
)
func main() {
// 打开 ZIP 文件
r, err := zip.OpenReader("encrypted.zip")
if err != nil {
fmt.Println(err)
return
}
defer r.Close()
// 遍历 ZIP 文件中的所有文件条目
for _, f := range r.File {
// 设置密码
f.SetPassword("1")
// 打开文件条目
rc, err := f.Open()
if err != nil {
fmt.Println(err)
return
}
defer rc.Close()
// 创建输出文件
if err := os.MkdirAll("output", f.Mode()); err != nil {
fmt.Println(err)
return
}
outFile, err := os.OpenFile("output/"+f.Name, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, f.Mode())
if err != nil {
fmt.Println(err)
return
}
defer outFile.Close()
// 复制文件内容到输出文件
_, err = io.Copy(outFile, rc)
if err != nil {
fmt.Println(err)
return
}
}
}