go 讀取文件夾所有文件並生成md5 字符串
阿新 • • 發佈:2018-12-02
fmt als func ror client sign dir rediscli println 為文件生成MD5字符串
func CreateMd5(filename string, md5str *string) { f, err := os.Open(filename) if err != nil { fmt.Println("Open", err) return } defer f.Close() md5hash := md5.New() if _, err := io.Copy(md5hash, f); err != nil { fmt.Println("Copy", err) return } md5hash.Sum(nil) *md5str = fmt.Sprintf("%x", md5hash.Sum(nil)) }
讀取文件夾下面的所有文件,為其創建md5字符串並存入redis
func GetFileName(dir string, redisClient redis.Conn) { var md5str string //獲取指定文件下的所有文件 err := filepath.Walk(dir, func(path string, info os.FileInfo, err error) error { if err != nil { return err } if info.IsDir() == false { //為每個文件創建MD5 CreateMd5(path, &md5str) //把MD5sr存入redis _, err = redisClient.Do("HSET", "XzWxClientMd5Sign", path, md5str) if err != nil { log.Println("Set key err: ", err) } } return nil }) if err != nil { log.Println(err) } }
go 讀取文件夾所有文件並生成md5 字符串