首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Go编程基础-基础篇 20

Go编程基础-基础篇 20

原创
作者头像
未来最可爱的人
修改2021-04-02 09:52:19
2490
修改2021-04-02 09:52:19
举报
文章被收录于专栏:编程基础编程基础

文件操作

文件创建/打开

O_RDONLY:以只读方式打开文件;

O_WRONLY:以只写方式打开文件;

O_RDWR:以读写方式打开文件;

O_APPEND:写入时将数据追加到文件;

O_CREATE:如果不存在新文件,则创建一个新文件;

O_EXCL:与O_CREATE一起使用,文件不能存在;

O_SYNC:为同步I/O打开;

O_TRUNC:打开时截断常规可写文件;

perm:文件权限,一般最高为0777。

package main

import (
	"fmt"
	"os"
)

func main() {
	f, err := os.OpenFile("a.txt", os.O_RDWR|os.O_CREATE, 0777)
	if err != nil {
		panic(err)
	}
	fmt.Println(f.Name())
}
a.txt

文件读取

文件打开之后,就可以从得到的文件对象中读取文件内容。我们在 a.txt 文件中输入 file test 字符串,来验证读取结果。

package main

import (
	"fmt"
	"os"
)

func main() {
	f, err := os.OpenFile("a.txt", os.O_RDWR|os.O_CREATE, 0777)
	if err != nil {
		panic(err)
	}
	b := make([]byte, 10)
	i, err := f.Read(b)
	if err != nil {
		panic(err)
	}
	fmt.Println(i)
	fmt.Println(string(b))
}
5
11111

文件写入

文件写入有两种模式,追加模式和覆写模式。如果在打开文件的时候加上了 O_APPEND 模式,就是追加,如果不加就是覆写。

package main

import (
	"os"
)

func main() {
	f1, err := os.OpenFile("a.txt", os.O_RDWR|os.O_CREATE, 0777)
	if err != nil {
		panic(err)
	}
	f1.WriteString("覆写字符")
	f1.Close()

	f2, err := os.OpenFile("b.txt", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0777) //追加模式打开文件
	if err != nil {
		panic(err)
	}
	f2.WriteString("追加字符")
}
a.txt 覆写字符
b.txt 追加字符

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • 文件操作
    • 文件创建/打开
      • 文件读取
      • 文件写入
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档