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语言-为什么返回值为接口类型,却返回结构体
Apr 24 Golang
golang json数组拼接的实例
Apr 28 Golang
Go标准容器之Ring的使用说明
May 05 Golang
go类型转换及与C的类型转换方式
May 05 Golang
goland 设置project gopath的操作
May 06 Golang
试了下Golang实现try catch的方法
Jul 01 Golang
Go 通过结构struct实现接口interface的问题
Oct 05 Golang
一文搞懂Golang 时间和日期相关函数
Dec 06 Golang
Golang 1.18 多模块Multi-Module工作区模式的新特性
Apr 11 Golang
Go获取两个时区的时间差
Apr 20 Golang
Golang ort 中的sortInts 方法
Apr 24 Golang
GoFrame框架数据校验之校验结果Error接口对象
Jun 21 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
手冲咖啡应该是现代精品咖啡店的必备选项吗?
2021/03/03 冲泡冲煮
为查询结果建立向后/向前按钮
2006/10/09 PHP
PHP读取XML值的代码(推荐)
2011/01/01 PHP
PHP向浏览器输出内容的4个函数总结
2014/11/17 PHP
PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
2019/09/23 PHP
懒就要懒到底——鼠标自动点击(含时间判断)
2007/02/20 Javascript
JS中的异常处理方法分享
2013/12/22 Javascript
JavaScript italics方法入门实例(把字符串显示为斜体)
2014/10/17 Javascript
jQuery中live()方法用法实例
2015/01/19 Javascript
nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG的方法
2018/11/01 NodeJs
详解Jest结合Vue-test-utils使用的初步实践
2019/06/27 Javascript
jQuery实现的分页插件完整示例
2020/05/26 jQuery
vue使用echarts实现水平柱形图实例
2020/09/09 Javascript
[01:00:49]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第二场 1月31日
2021/03/11 DOTA
跟老齐学Python之眼花缭乱的运算符
2014/09/14 Python
Python中pygal绘制雷达图代码分享
2017/12/07 Python
python Pillow图像处理方法汇总
2019/10/16 Python
python logging添加filter教程
2019/12/24 Python
Django模板标签{% for %}循环,获取制定条数据实例
2020/05/14 Python
Python中Selenium库使用教程详解
2020/07/23 Python
Python Pygame实现俄罗斯方块
2021/02/19 Python
Berghaus官网:户外服装和设备,防水服
2020/01/17 全球购物
servlet面试题
2012/08/20 面试题
俄语翻译实习生的自我评价分享
2013/11/06 职场文书
食品厂厂长岗位职责
2014/01/30 职场文书
幼儿园教师奖惩制度
2014/02/01 职场文书
大学学生会竞选演讲稿
2014/04/25 职场文书
答谢会策划方案
2014/05/12 职场文书
民主评议政风行风整改方案
2014/09/17 职场文书
教师自我剖析材料(四风问题)
2014/09/30 职场文书
2015年家长学校工作总结
2015/04/22 职场文书
幼儿园心得体会范文
2016/01/21 职场文书
深入理解以DEBUG方式线程的底层运行原理
2021/06/21 Java/Android
详解Java实现数据结构之并查集
2021/06/23 Java/Android
Python类方法总结讲解
2021/07/26 Python
Python使用DFA算法过滤内容敏感词
2022/04/22 Python