go 判断文件或目录是否存在

使用os包中的FileInfo接口提

type FileInfo
func Stat(name string) (fi FileInfo, err error)
func Lstat(name string) (fi FileInfo, err error)

参考代码

// 判断文件是否存在
func IsExist(fileAddr string)(bool){
	// 读取文件信息,判断文件是否存在
	_,err := os.Stat(fileAddr)
	if err!=nil{
		log.Println(err)
		if os.IsExist(err){  // 根据错误类型进行判断
			return true
		}
		return false
	}
	return true
}

参考代码

// 判断目录是否存在
func IsDir(fileAddr string)bool{
	s,err:=os.Stat(fileAddr)
	if err!=nil{
		log.Println(err)
		return false
	}
	return s.IsDir()
}

go 按行读取文件

使用bufio包

func readLine(f *os.File)error{
	defer wg.Done()
	scanner := bufio.NewScanner(f)  // 默认是按行读取
	for scanner.Scan(){
		fmt.Println(f.Name(),scanner.Text())
		CreateFrame("",f.Name(),scanner.Text())
	}
	if err:=scanner.Err();err!=nil{
		log.Println("reading standard input:",err)
		return errors.New("reading standard input:"+err.Error())
	}
	return nil
}
原文地址:https://www.cnblogs.com/MyUniverse/p/11723555.html