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
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM