使用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
}
|
请发表评论