使用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
}