zoukankan      html  css  js  c++  java
  • 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
    }
    
  • 相关阅读:
    ctrl+d与ctrl+c
    SIGTERM等信号含义
    truss命令
    strings命令
    touch命令
    C语言的readlink
    P1065 [NOIP2006 提高组] 作业调度方案
    P1786 帮贡排序
    P1098 [NOIP2007 提高组] 字符串的展开
    P1591 阶乘数码
  • 原文地址:https://www.cnblogs.com/MyUniverse/p/11723555.html
Copyright © 2011-2022 走看看