欢迎来到代码驿站!

Golang

当前位置:首页 > 脚本语言 > Golang

Go语言学习笔记之文件读写操作详解

时间:2022-08-26 09:11:50|栏目:Golang|点击:

文件操作比较多,分为几篇来写吧。首先是文件的读写,在平时的工程化操作中使用最多。

文件写

样例代码如下

package main
 
import (
    "bufio"
    "fmt"
    "io"
    "os"
)
 
//写文件
func DoWriteFile() error {
    _filePath := "./test.txt"
    _file, _err := os.OpenFile(_filePath, os.O_WRONLY|os.O_CREATE, 0666)
    if _err != nil {
        fmt.Printf("打开文件错误=%v\n", _err)
        return _err
    }
    //提前关闭文件
    defer _file.Close()
    //写入文件
    _writer := bufio.NewWriter(_file)
    _writer.WriteString("hahaha!\n")
    _writer.Flush()
    return nil
}
 
 
func main() {
    DoWriteFile()
}

这里使用了os.OpenFile方法,后面的os.O_WRONLY模式会在后面提到。

执行结果

文件读

样例代码如下

package main
 
import (
    "bufio"
    "fmt"
    "io"
    "os"
)
 
//读文件
func DoReadFile() error {
    _filePath := "./test.txt"
    _file, _err := os.Open(_filePath)
    if _err != nil {
        fmt.Printf("打开文件错误=%v\n", _err)
        return _err
    }
    defer _file.Close()
    _reader := bufio.NewReader(_file)
    for true {
        str, err := _reader.ReadString('\n')
        if err == io.EOF {
            break
        }
        fmt.Println(str)
    }
    return _err
}
 
func main() {
    DoReadFile()
}

执行结果如下

hahaha!

Process finished with the exit code 0

注意,os.Open方法是以只读模式打开文件。

小结

在使用os.OpenFile方法的时候需要使用到文件模式,文件的打开模式如下:

O_RDONLY int = syscall.O_RDONLY // 只读模式打开文件

O_WRONLY int = syscall.O_WRONLY // 只写模式打开文件

O_RDWR int = syscall.O_RDWR // 读写模式打开文件

O_APPEND int = syscall.O_APPEND // 写操作时将数据附加到文件尾部

O_CREATE int = syscall.O_CREAT // 如果不存在将创建一个新文件

O_EXCL int = syscall.O_EXCL // 和O_CREATE配合使用,文件必须不存在

O_SYNC int = syscall.O_SYNC // 打开文件用于同步I/O

O_TRUNC int = syscall.O_TRUNC // 如果可能,打开时清空文件

上一篇:Go语言编程实现支持六种级别的日志库

栏    目:Golang

下一篇:Golang 发送http请求时设置header的实现

本文标题:Go语言学习笔记之文件读写操作详解

本文地址:http://www.codeinn.net/misctech/211873.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有