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
}

猜你喜欢

转载自www.cnblogs.com/MyUniverse/p/11723555.html