Go语学习笔记 - 文件操作(一) 从零开始Go语言

83 篇文章 1 订阅
80 篇文章 0 订阅

学习笔记,写到哪是哪。

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

文件写

样例代码如下

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
", _err)
		return _err
	}
	//提前关闭文件
	defer _file.Close()
	//写入文件
	_writer := bufio.NewWriter(_file)
	_writer.WriteString("hahaha!
")
	_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
", _err)
		return _err
	}
	defer _file.Close()
	_reader := bufio.NewReader(_file)
	for true {
		str, err := _reader.ReadString('
')
		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 // 如果可能,打开时清空文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值