golang zip


...占位

保熟

//ZipD("./test","./01.zip")
func ZipD(src, dst string) error {
	fz, err := os.Create(dst)
	if err != nil {
		log.Println(err)
	}
	zw := zip.NewWriter(fz)
	defer zw.Close()
	return filepath.Walk(src, func(path string, fi os.FileInfo, errBack error) (err error) {
		if !fi.IsDir() {
			//log.Println("文件===>", path, fi.Name())
			//elem := &huzh{path: path, name: fi.Name()}
			//log.Println("elem===>", elem)
			f, _ := os.Open(path)
			defer  f.Close()
			w, _ := zw.Create(fi.Name())
			io.Copy(w, f)
		}
		return nil
	})
}