Go语言读取txt文档的操作方法


Posted in Golang onJanuary 22, 2022

读取文件是所有编程语言中最常见的操作之一。本教程我们将了解如何使用 Go 读取txt文档。

  1. 文档内容每行是一个文件名信息,含有空格区分不同项;
  2. ioutil.ReadFile返回的是[]bytes切片类型,使用string()转换为string类型,并用strings.Split()按行分割成切片;
  3. 把每行的文件名信息按空格分割成切片存入var dataNameSlice [][]string
  4. 每一行的文件名信息处理成一个string字符串,存入var dataName []string,这里用strings.Join()方法将前3项信息以下划线连接;
package main
 
import (
	"fmt"
	"io/ioutil"
	"strings"
	"os"
)
func main() {
	fileName := "file1.txt"  // txt文件路径
	data, err_read := ioutil.ReadFile(fileName)   // 读取文件
	if err_read != nil {
		fmt.Println("文件读取失败!")
	}
	dataLine := strings.Split(string(data), "\n") // 将文件内容作为string按行切片
	var dataNameSlice [][]string                  // 用于存储每行内容的Slice
	var dataName []string                         // 整理每行内容成一个string
	for i, line := range(dataLine) {
		dataNameSlice = append(dataNameSlice, strings.Split(line, " "))       // 每行内容按空格分割成切片
		dataName = append(dataName, strings.Join(dataNameSlice[i][:3], "_"))  // 每行内容切片的前3项用_连成string
		dataName[i] = dataName[i] + ".md"
		// fmt.Println(dataName[i])
	for i, dataNameString := range(dataName) {
		if _, err := os.Stat(dataNameString); os.IsNotExist(err) { // 判断文件是否存在
			os.Create(dataNameString)
		} else {
			fmt.Printf("%d. [%s] File already exist!\n", i, dataNameString)
		}
}

补充:golang 按行读取文件

file, err := os.Open("app-2019-06-01.log")
    if err != nil {
        log.Fatal(err)
    }
    defer file.Close()
    scanner := bufio.NewScanner(file)
    for scanner.Scan() {
            lineText := scanner.Text()
 
        }

整个读取

b, err := ioutil.ReadFile("app-2019-06-01.log") // just pass the file name
        fmt.Print(err)

str := string(b) // convert content to a 'string'

fmt.Println(str) // print the content as a 'string'

到此这篇关于Go语言读取txt文档的文章就介绍到这了,更多相关Go读取txt文档内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Golang 相关文章推荐
go语言map与string的相互转换的实现
Apr 07 Golang
golang import自定义包方式
Apr 29 Golang
go设置多个GOPATH的方式
May 05 Golang
Golang 编译成DLL文件的操作
May 06 Golang
golang switch语句的灵活写法介绍
May 06 Golang
go mod 安装依赖 unkown revision问题的解决方案
May 06 Golang
K8s部署发布Golang应用程序的实现方法
Jul 16 Golang
Golang使用Panic与Recover进行错误捕获
Mar 22 Golang
Go 中的空白标识符下划线
Mar 25 Golang
GO语言异常处理分析 err接口及defer延迟
Apr 14 Golang
Golang获取List列表元素的四种方式
Apr 20 Golang
Golang实现可重入锁的示例代码
May 25 Golang
一文搞懂Golang 时间和日期相关函数
Go语言基础切片的创建及初始化示例详解
Nov 17 #Golang
Go语言基础map用法及示例详解
Nov 17 #Golang
Go语言基础函数基本用法及示例详解
Nov 17 #Golang
golang中的struct操作
Nov 11 #Golang
Go 语言中 20 个占位符的整理
Oct 16 #Golang
Golang中channel的原理解读(推荐)
Oct 16 #Golang
You might like
php htmlspecialchars加强版
2010/02/16 PHP
10 个经典PHP函数
2013/10/17 PHP
CodeIgniter使用smtp服务发送html邮件的方法
2015/06/10 PHP
PHP中通过trigger_error触发PHP错误示例
2015/06/23 PHP
php如何获取文件的扩展名
2015/10/28 PHP
asp.net下利用js实现返回上一页的实现方法小集
2009/11/24 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
jQuery.deferred对象使用详解
2016/03/18 Javascript
基于jQuery实现音乐播放试听列表
2016/04/14 Javascript
AngularJS  双向数据绑定详解简单实例
2016/10/20 Javascript
JavaScript之Map和Set_动力节点Java学院整理
2017/06/29 Javascript
利用babel将es6语法转es5的简单示例
2017/12/01 Javascript
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
2018/08/22 Javascript
[01:56]《DOTA2》中文配音CG
2013/04/22 DOTA
[49:08]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.27
2020/12/01 DOTA
python操作摄像头截图实现远程监控的例子
2014/03/25 Python
python中文编码问题小结
2014/09/28 Python
想学python 这5本书籍你必看!
2018/12/11 Python
Python中numpy模块常见用法demo实例小结
2019/03/16 Python
Pycharm 文件更改目录后,执行路径未更新的解决方法
2019/07/19 Python
python 消费 kafka 数据教程
2019/12/21 Python
如何利用pygame实现简单的五子棋游戏
2019/12/29 Python
利用CSS3的flexbox实现水平垂直居中与三列等高布局
2016/09/12 HTML / CSS
行政专员岗位职责
2014/01/02 职场文书
优秀村官事迹材料
2014/01/10 职场文书
单位未婚证明范本
2014/01/18 职场文书
鲜果饮品店创业计划书
2014/01/21 职场文书
销售人员求职信
2014/07/22 职场文书
摄影专业毕业生求职信
2014/08/05 职场文书
镇人大副主席民主生活会对照检查材料思想汇报
2014/10/01 职场文书
2014年管理人员工作总结
2014/12/01 职场文书
2015年安全生产月工作总结
2015/07/27 职场文书
2015年小学生国庆节演讲稿
2015/07/30 职场文书
SQL SERVER中常用日期函数的具体使用
2021/04/08 SQL Server
Python中的程序流程控制语句
2022/02/24 Python
MySQL中IO问题的深入分析与优化
2022/04/02 MySQL