go 文件处理

go文件目录操作

go语言的文件读写是编程中必不可少的操作,下面是我在学习过程中的一些总结。

1.go读取文件内容

// path 文件路径
func readFile(path string) {
	file, err := os.Open(path)
	if err != nil {
		log.Fatal(err)
	}
	info := bufio.NewScanner(file) //初始化文件读取字节流
	for info.Scan() {
		fmt.Println(info.Text())
	}
	err = file.Close()
	if err != nil {
		log.Fatal(err)
	}
	if info.Err() != nil {
		log.Fatal(info.Err())
	}
}

2.获取指定路径下的文件结构

//path 需要查看的路径
func analyseFile(path string) {
	files, err := ioutil.ReadDir(path)
	if err != nil {
		log.Fatal(err)
	}
	for _, file := range files {

		if file.IsDir() {
			fmt.Println("Directory:", file.Name())
		} else {
			fmt.Println("file:", file.Name())
		}
	}
}

 3.获取文件md5

//filename 文件名
func getFileMd5(filename string) string {

	path := fmt.Sprintf("%s", filename)

	pFile, err := os.Open(path)
	if err != nil {
		log.Fatal(err)
		return ""
	}

	defer pFile.Close()

	md5h := md5.New()
	_, _ = io.Copy(md5h, pFile)
	return hex.EncodeToString(md5h.Sum(nil))
}

  

posted @ 2021-05-27 17:31  沉默的枫叶  阅读(121)  评论(0编辑  收藏  举报