• go语言之文件读写


    文件操作用到os库。涉及到几个函数分别为os.Open/os.Create/os.OpenFile/os.Remove/os.RemoveAll

    (1) 当文件不存在的时候,使用os.Create

    var buffer bytes.Buffer
    buffer.WriteString("abcd")
    file,error:=os.Create("test.txt")
    defer file.Close()
    if error !=nil{
    fmt.Println("file create fail")
    }
    file.Write(buffer.Bytes()) //写入字节
    file.WriteString("\n") //写入字符串
    file.Write(buffer.Bytes())

    (2) 当文件存在的时候,使用os.OpenFile

    file,error:=os.OpenFile("test.txt",os.O_RDWR|os.O_CREATE,0766)
    defer file.Close()
    if error !=nil{
    fmt.Println("file create fail")
    }

    其中读写权限的含义如下:

    O_RDWR: 读写方式打开

    O_CREATE:如果文件不存在,则先创建

    O_WRONLY: 只写

    O_RDONLY:只读

    O_APPEND:追加方式写

    O_SYNC:以同步I/O的方式打开

    第三个参数:权限

    0:没有任何权限

    1:执行权限

    2:写权限

    3:写权限和执行权限

    4:读权限

    5:读权限和执行权限

    6:读权限和写权限

    7:读权限,写权限,执行权限

    (3) 逐行读文件,需要使用到bufio库

    br:=bufio.NewReader(file)
    for{
    a,_,c:=br.ReadLine()
    if c == io.EOF{
    break
    }
    fmt.Println(string(a))
    }
    (4) 删除文件
        del := os.Remove("./1.txt");
        if del != nil {
            fmt.Println(del);
        }
     (5) 删除指定path下的所有文件
        delDir := os.RemoveAll("./dir");
        if delDir != nil {
            fmt.Println(delDir);
        }


  • 相关阅读:
    Django + Uwsgi + Nginx 的概念
    ubantu+nginx+uwsgi+django部署
    FileZilla以root用户登录Linux
    全文检索django-haystack+jieba+whoosh
    七牛云上传视频
    JWT登录与多方式登录
    vue绑定用户页面
    绑定微博用户接口
    vue微博回调空页面
    微博回调接口
  • 原文地址:https://www.cnblogs.com/zhanghongfeng/p/15906788.html
Copyright © 2020-2023  润新知