返回顶部
首页 > 资讯 > 后端开发 > GO >Go语言中常见的文件操作分享
  • 194
分享到

Go语言中常见的文件操作分享

Go语言常见文件操作Go语言文件操作Go文件操作 2023-01-30 12:01:12 194人浏览 安东尼
摘要

目录常用包os与I/O操作相关包常用文件/目录操作路径拼接创建文件(touch)获取文件信息读取文件内容写入文件内容常用包 文件操作应该是应用程序里非常常见的一种操作,无论是哪种应用

常用包

文件操作应该是应用程序里非常常见的一种操作,无论是哪种应用场景,几乎都离不开文件的基本操作。Go语言中提供了三个不同的包去处理文件

os

os包提供了处理文件的api接口,遵循Unix标准,平台无关,所有操作系统都可以使用。错误处理上是Go语言独有的,失败时,返回的是错误类型而非系统错误编号,对于调试很有帮助。os包中提供了创建、删除、打开、修改权限等功能。

与I/O操作相关包

io

  • I/O原语接口
  • 包装到了公共接口中,该接口抽象了功能

ioutil

I/O实用功能,从Go 1.6开始,可以直接通过io后os包访问相同的功能

bufio

  • 文件的缓冲I/O提供接口
  • 缓冲区实际是内存中的临时空间,用于存储数据并在该空间执行临时I/O操作,减少系统调用及磁盘I/O,适用于数据块传输场景,不适用于单个字符的I/O操作
  • 默认的操作都是无缓冲的

常用文件/目录操作

路径拼接

package main

import (
    "fmt"
    "path"
)

func JoinPath() {
    dirs := []string{"/", "home", "ray", "workspace"}
    path := path.Join(dirs...)
    fmt.Printf("Path after join: %v\n", path)
}

func main() {
    JoinPath()
}

输出信息为

Path after join: /home/ray/workspace

更多功能请参考:https://pkg.go.dev/path/filepath#pkg-functions

创建文件(touch)

改代码执行后将生成一个为空的sample.txt文件

package main

import (
    "log"
    "os"
)

func CreateEmptyFile() {
	myFile, err := os.Create("sample.txt")
	if err != nil {
		log.Fatal("ERROR! ", err)
	}
	log.Println("Empty file created successfully. ", myFile)
	myFile.Close()
}

func main() {
    CreateEmptyFile()
}

获取文件信息

这里主要使用os.Stat函数

package main

import (
    "fmt"
    "log"
    "os"
)

func FileInfo() {
	fileInfo, err := os.Stat("sample.txt")
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println("File Name:", fileInfo.Name())
	fmt.Println("Size ", fileInfo.Size(), " bytes")
	fmt.Println("Permissions:", fileInfo.Mode())
	fmt.Println("Last modified:", fileInfo.ModTime())
	fmt.Println("Is Directory: ", fileInfo.IsDir())
}

func main() {
    FileInfo()
}

读取文件内容

和其他语言类似,读取文件主要使用Open, Read等函数,文件处理最底层是基于原始字节的,在这个抽象之上,可以进一步构建更方便的接口。

package main

import (
    "log"
    "os"
)

func FileRead(filePath string) {
	oFile, err := os.Open(filePath)
	if err != nil {
		log.Fatal(err)
	}
	defer oFile.Close()
	buff := make([]byte, 100)
	for no, err := oFile.Read(buff); err == nil; no, err = oFile.Read(buff) {
		if no > 0 {
			os.Stdout.Write(buff[0:no])
		}
	}
}

func main() {
    FileRead("sample.txt")
}

写入文件内容

我们尝试使用一个文件拷贝的样例,来学习写入的方式,这里除了刚才使用的os包,还是用了io包,最终将显示一共拷贝了多少字节

package main

import (
    "log"
    "io"
    "os"
)

func Copy(src, dest string) {

	srcFile, err := os.Open(src)
	if err != nil {
		log.Fatal(err)
	}
	defer srcFile.Close()

	destFile, err := os.Create(dest)
	if err != nil {
		log.Fatal(err)
	}
	defer destFile.Close()

	numBytes, err := io.Copy(destFile, srcFile)
	if err != nil {
		log.Fatal(err)
	}
	log.Printf("Successfully copied %d bytes", numBytes)
	err = destFile.Sync()
	if err != nil {
		log.Fatal(err)
	}
}

func main() {
    Copy("source.txt", "dest.txt")
}

到此这篇关于Go语言中常见的文件操作分享的文章就介绍到这了,更多相关Go语言文件操作内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: Go语言中常见的文件操作分享

本文链接: https://lsjlt.com/news/178761.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Go语言中常见的文件操作分享
    目录常用包os与I/O操作相关包常用文件/目录操作路径拼接创建文件(touch)获取文件信息读取文件内容写入文件内容常用包 文件操作应该是应用程序里非常常见的一种操作,无论是哪种应用...
    99+
    2023-01-30
    Go语言常见文件操作 Go语言文件操作 Go 文件操作
  • C语言常见的文件操作函数
    目录一、文件的打开和关闭1、文件指针2、文件打开和关闭二、文件的顺序读写 1、fgetc()和fputc()函数2、fgets()和fputs()函数 3、fsc...
    99+
    2024-04-02
  • GO语言操作Elasticsearch示例分享
    目录Elasticsearch简介连接Elasticsearch创建索引创建model结构体初始化model创建索引搜索数据创建返回结构体搜索数据解析数据修改数据单条修改批量修改删除...
    99+
    2023-01-17
    golang操作Elasticsearch Go言操作ElasticSearch go操作elasticsearch示例
  • C语言中常见的文件操作方法是什么
    今天小编给大家分享一下C语言中常见的文件操作方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.为什么使用文件大家在...
    99+
    2023-07-02
  • Go 语言如何操作常见的数据库
    使用MySQL数据库 目前 Internet 上流行的网站构架方式是 LAMP/LNMP,其中的 M 即 MySQL, 作为数据库,MySQL 以免费、开源、使用方便为优势成为了很多Web开发的后...
    99+
    2024-04-02
  • 深入了解C语言中常见的文件操作方法
    目录1.为什么使用文件2.什么是文件2.1文件分类2.2 文件名3.文件的打开和关闭3.1文件指针3.2 如何使用文件指针4.文件的读写1.为什么使用文件 大家在写程序的时候有没有一...
    99+
    2024-04-02
  • C语言常见的文件操作函数有什么
    这篇文章给大家介绍C语言常见的文件操作函数有什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、文件的打开和关闭1、文件指针每个被使用的文件都在内存中开辟了一个相应的文件信息区,用来存放文件的相关信息(如文件的名字,...
    99+
    2023-06-26
  • Go语言中JSON文件的读写操作
    目录写 JSON 文件读 JSON 文件JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。它基于 ...
    99+
    2023-05-14
    Go语言JSON读写 Go语言读写JSON
  • Go语言中XML文件的读写操作
    目录写 XML 文件读 XML 文件XML(extensible Markup Language)格式被广泛用作一种数据交换格式,并且自成一种文件格式。与上一节介绍的 JSON 相比...
    99+
    2023-05-14
    Go语言XML文件读写 Go语言XML读写
  • JavaScript中数组常见的操作技巧分享
    这篇文章主要讲解了“JavaScript中数组常见的操作技巧分享”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript中数组常见的操作技巧分享”...
    99+
    2024-04-02
  • GO语言中HTTP打包文件的技巧分享!
    在Web应用程序开发中,HTTP是最常用的协议之一。在GO语言中,HTTP包提供了一个基本的HTTP客户端和服务器。HTTP客户端可以用于发送HTTP请求,而HTTP服务器则可以用于响应HTTP请求。另外,GO语言还提供了一些HTTP服务...
    99+
    2023-06-24
    http 打包 文件
  • Go语言zip文件的读写操作
    目录创建 zip 归档文件读取 zip 归档文件Go语言的标准库提供了对几种压缩格式的支持,其中包括 gzip,因此 Go 程序可以无缝地读写 .gz 扩展名的 gzip 压缩文件或...
    99+
    2023-05-14
    Go语言zip读写 go读写ZIP文件
  • Go语言中怎么实现文件操作
    今天就跟大家聊聊有关Go语言中怎么实现文件操作,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。打开和关闭文件package main  import&nb...
    99+
    2023-06-15
  • Go语言字符串常见操作的使用汇总
    目录1. 字节数组2. 头尾处理3. 位置索引4. 替换5. 统计次数6. 重复7. 大小写8. 去除字符9. 字符串切片处理10. 数值处理1. 字节数组 字节与字符的区别 字节(...
    99+
    2024-04-02
  • php中常见的文件操作函数
    这篇文章主要讲解了“php中常见的文件操作函数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php中常见的文件操作函数”吧!获取文件内容:file_get_...
    99+
    2024-04-02
  • C语言文件操作分析
    本篇内容介绍了“C语言文件操作分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!文件的随机读写之前的函数只能实现顺序读写,而实现随机读写需用...
    99+
    2023-06-25
  • C语言中的文件操作实例分析
    这篇文章主要介绍了C语言中的文件操作实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言中的文件操作实例分析文章都会有所收获,下面我们一起来看看吧。1.为什么使用文件在学习结构体时,写了一个简易的通讯录...
    99+
    2023-07-02
  • Go语言文件操作最佳实践
    go语言文件操作最佳实践:使用 os.open/os.openfile 打开文件并自动关闭(defer file.close());使用 ioutil.readall 读取整个文件或 b...
    99+
    2024-04-08
    go 文件操作 go语言
  • 分享Go语言的常用的五大IDE
      Go是一种简单可靠的编程语言。其稳固的结构和强大的类,有助于它发展成为各种开发人员的稳定和流行的语言。在你的日常编程中,会用到哪些Go语言的IDE一起来看看Go的前5大IDE。  LiteIDE  LiteIDE是一个简单的开源IDE。...
    99+
    2023-06-02
  • Go语言二进制文件的读写操作
    目录写Go语言二进制文件读Go语言二进制文件Go语言的二进制(gob)格式是一个自描述的二进制序列。从其内部表示来看,Go语言的二进制格式由一个 0 块或者更多块的序列组成,其中的每...
    99+
    2023-05-14
    Go语言二进制文件读写 golang 读写二进制文件
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作