package main
import (
"archive/zip"
"fmt"
"io"
"os"
"path/filepath"
"strings"
)
func main() {
var (
Path = os.Args[1]
Name = os.Args[2]
)
File, _ := os.Create(Name)
PS := strings.Split(Path, "\\")
PathName := strings.Join(PS[:len(PS)-1], "\\")
os.Chdir(PathName)
Path = PS[len(PS)-1]
defer File.Close()
Zip := zip.NewWriter(File)
defer Zip.Close()
walk := func(Path string, info os.FileInfo, err error) error {
if err != nil {
fmt.Println(err)
return err
}
if info.IsDir() {
return nil
}
Src, _ := os.Open(Path)
defer Src.Close()
fmt.Println(Path)
FileName, _ := Zip.Create(Path)
io.Copy(FileName, Src)
Zip.Flush()
return nil
}
if err := filepath.Walk(Path, walk); err != nil {
fmt.Println(err)
}
}
這MYDIR路徑:創建使用Go的存檔Unicode文件名zip存檔/ ZIP
-----root
|---2015-05(dir)
|---中文.go
|---package(dir)
|---你好.go
當我使用此代碼目錄,中國會出現亂碼。誰可以幫我解決問題。
如果您可以添加關於如何解決問題的解釋將會很有幫助。 – Carpetsmoker