Bootstrap

Golang中文件的基本操作

目录

  • 前言

  • 正文

  • 结尾

前言

前两天,我们重点介绍了 Golang 中的通道——chan,相信大家已经基本上掌握了通道的使用技巧。今天我们就来聊一聊文件的一些基本操作。

正文

说到文件操作,应该是任何一种语言的基本操作。那么,Golang 是如何操作文件的呢?

操作文件,我们可以理解成对数据库的操作————增、删、改、查,它们分别对应创建文件、删除文件、修改文件内容、查询文件信息。

接下来,我们就分别从这四个维度介绍 Golang 是如何操作文件的。

创建文件

首先,我们来创建一个文件 test.txt。

代码实例:

package main

import (
	"fmt"
	"os"
)
func main() {
   	fmt.Println("我们创建一个文本文件test.txt")
	if _, err := os.Create("test.txt"); err == nil {
		fmt.Println("文件创建成功。。。")
	}
}

代码执行结果:

我们创建一个文本文件test.txt
文件创建成功。。。

通过结果,我们可以看到,我们成功创建了一个名为 test.txt 的文本文件。

修改文件

接下来,我们在上边的代码基础上继续完善,实现对文件的修改。我们新创建的 test.txt 的文本文件的内容肯定是空的,什么信息都没有,我们现在写一些内容进去。

代码实例:

package main

import (
	"fmt"
	"os"
)
func main() {
   	fmt.Println("我们创建一个文本文件test.txt")
	if f, err := os.Create("test.txt"); err == nil {
		fmt.Println("文件创建成功。。。")
		_, err=f.Write([]byte("将要写入文本的内容:这段文字会被写入test.txt中"))
		if err == nil {
			fmt.Println("文件写入内容成功。。。")
		}
	}
}

代码执行结果:

我们创建一个文本文件test.txt
文件创建成功。。。
文件写入内容成功。。。

通过执行结果,我们知道我们把相应的信息写入到 test.txt 文件中了。

查询文件

上面的执行结果是说明相应的内容写入到了文件中,但是不够直观。接下来,我们查询一下文件的内容,进一步确认文件中写入了相应的内容。

代码实例:

package main

import (
	"fmt"
	"os"
	"io/ioutil"
)
func main() {
   	fmt.Println("我们创建一个文本文件test.txt")
	if f, err := os.Create("test.txt"); err == nil {
		fmt.Println("文件创建成功。。。")
		_, err=f.Write([]byte("将要写入文本的内容,这段文字会被写入test.txt中"))
		if err == nil {
			fmt.Println("文件写入内容成功。。。")
		}
		bytes, err := ioutil.ReadFile("test.txt")
                if err == nil {
			fmt.Println("test.txt文件的内容:",string(bytes))
		}

	}
}

代码执行结果:

我们创建一个文本文件test.txt
文件创建成功。。。
文件写入内容成功。。。
test.txt文件的内容: 将要写入文本的内容,这段文字会被写入test.txt中

结果证明,上一步确实修改了文件的内容,同时,这一步也实现了查询文件内容的功能。

删除文件

这个相对就简单多了,直接看代码吧。

代码实例:

package main

import (
	"fmt"
	"os"
	"io/ioutil"
)
func main() {
   	fmt.Println("我们创建一个文本文件test.txt")
	if f, err := os.Create("test.txt"); err == nil {
		fmt.Println("文件创建成功。。。")
		_, err=f.Write([]byte("将要写入文本的内容,这段文字会被写入test.txt中"))
		if err == nil {
			fmt.Println("文件写入内容成功。。。")
		}
		bytes, err := ioutil.ReadFile("test.txt")
    	if err == nil {
			fmt.Println("test.txt文件的内容:",string(bytes))
		}
		err = os.Remove("test.txt")
		if err == nil {
			fmt.Println("文件删除成功!")
		}
	}
}

代码执行结果:

我们创建一个文本文件test.txt
文件创建成功。。。
文件写入内容成功。。。
test.txt文件的内容: 将要写入文本的内容,这段文字会被写入test.txt中
文件删除成功!

结尾

好了,现在我们已经实现了 Golang 对文件的增、删、改、查,对文件的基本操作也基本掌握了。今天就到这里吧,晚安。

作者简介:😄大家好,我是 Data-Mining(liuzhen007),是一位音视频技术爱好者,前后就职于传统广电巨头和音视频互联网公司,具有丰富的音视频直播和点播相关经验,对 WebRTC、FFmpeg 和 Electron 有非常深入的了解,😄公众号:玩转音视频。同时也是 CSDN 博客专家、华为云社区云享专家、签约作者,欢迎关注我分享更多干货!😄