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 相关文章推荐
golang switch语句的灵活写法介绍
May 06 Golang
解决Goland 同一个package中函数互相调用的问题
May 06 Golang
基于Golang 高并发问题的解决方案
May 08 Golang
Golang全局变量加锁的问题解决
May 08 Golang
浅谈Go语言多态的实现与interface使用
Jun 16 Golang
golang实现一个简单的websocket聊天室功能
Oct 05 Golang
深入理解go缓存库freecache的使用
Feb 15 Golang
Golang 链表的学习和使用
Apr 19 Golang
Golang 对es的操作实例
Apr 20 Golang
Golang解析JSON对象
Apr 30 Golang
Go web入门Go pongo2模板引擎
May 20 Golang
Go调用Rust方法及外部函数接口前置
Jun 14 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可能遇到的问题“无法载入mysql扩展” 的解决方法
2007/04/16 PHP
Laravel推荐使用的十个辅助函数
2019/05/10 PHP
JavaScript 核心参考教程 内置对象
2009/10/13 Javascript
javascript实现日期三级联动下拉框选择菜单
2020/12/03 Javascript
vue将对象新增的属性添加到检测序列的方法
2018/02/24 Javascript
使用vue-router与v-if实现tab切换遇到的问题及解决方法
2018/09/07 Javascript
jquery获取file表单选择文件的路径、名字、大小、类型
2019/01/18 jQuery
vue.js实现备忘录demo
2019/06/26 Javascript
基于Vue.js与WordPress Rest API构建单页应用详解
2019/09/16 Javascript
vue+ESLint 配置保存 自动格式化代码
2020/03/17 Javascript
vue+animation实现翻页动画
2020/06/29 Javascript
js编写简易的计算器
2020/07/29 Javascript
openlayers实现图标拖动获取坐标
2020/09/25 Javascript
微信小程序自定义yPicker组件实现省市区三级联动功能
2020/10/29 Javascript
element-ui封装一个Table模板组件的示例
2021/01/04 Javascript
python发送arp欺骗攻击代码分析
2014/01/16 Python
Python下rrdtool模块的基本使用方法
2015/11/13 Python
python基于隐马尔可夫模型实现中文拼音输入
2016/04/01 Python
小白如何入门Python? 制作一个网站为例
2018/03/06 Python
python随机取list中的元素方法
2018/04/08 Python
Python虚拟环境的原理及使用详解
2019/07/02 Python
django 通过URL访问上传的文件方法
2019/07/28 Python
python 将dicom图片转换成jpg图片的实例
2020/01/13 Python
keras topN显示,自编写代码案例
2020/07/03 Python
HTML5新表单元素_动力节点Java学院整理
2017/07/12 HTML / CSS
违反学校规定检讨书
2014/01/18 职场文书
干部现实表现材料
2014/02/13 职场文书
降消项目实施方案
2014/03/30 职场文书
快餐公司创业计划书
2014/04/29 职场文书
网络编辑求职信
2014/04/30 职场文书
美国旅游签证工作证明
2014/10/14 职场文书
工程部经理岗位职责
2015/02/02 职场文书
5.12护士节活动总结
2015/02/10 职场文书
python OpenCV学习笔记
2021/03/31 Python
Hive导入csv文件示例
2022/06/25 数据库
如何让你的Nginx支持分布式追踪详解
2022/07/07 Servers