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 interface{}==nil 的几种坑及原理分析
Apr 24 Golang
Golang 正则匹配效率详解
Apr 25 Golang
golang 生成对应的数据表struct定义操作
Apr 28 Golang
彻底理解golang中什么是nil
Apr 29 Golang
golang 在windows中设置环境变量的操作
Apr 29 Golang
Go语言 go程释放操作(退出/销毁)
Apr 30 Golang
浅谈golang package中init方法的多处定义及运行顺序问题
May 06 Golang
Golang 并发下的问题定位及解决方案
Mar 16 Golang
Go获取两个时区的时间差
Apr 20 Golang
Golang map映射的用法
Apr 22 Golang
Golang 实现WebSockets
Apr 24 Golang
Go语言编译原理之变量捕获
Aug 05 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
通过dbi使用perl连接mysql数据库的方法
2014/04/16 PHP
PHP类和对象相关系统函数与运算符小结
2016/09/28 PHP
getElementById在任意一款浏览器中都可以用吗的疑问回复
2007/05/13 Javascript
javascript 最常用的10个自定义函数[推荐]
2009/12/26 Javascript
js 编写规范
2010/03/03 Javascript
纯JS实现五子棋游戏兼容各浏览器(附源码)
2013/04/24 Javascript
JQuery设置和去除disabled属性的5种方法总结
2013/05/16 Javascript
优化Jquery,提升网页加载速度
2013/11/14 Javascript
JavaScript导出Excel实例详解
2014/11/25 Javascript
jQuery插件slider实现拖动滑块选取价格范围
2015/04/30 Javascript
JavaScript正则表达式的分组匹配详解
2016/02/13 Javascript
jQuery封装的屏幕居中提示信息代码
2016/06/08 Javascript
JavaScript计算值然后把值嵌入到html中的实现方法
2016/10/29 Javascript
使用jsonp实现跨域获取数据实例讲解
2016/12/25 Javascript
微信小程序 五星评分的实现实例
2017/08/04 Javascript
微信小程序如何使用云开发
2019/05/17 Javascript
JS前端知识点总结之内置对象,日期对象和定时器相关操作
2019/07/05 Javascript
通过layer实现可输入的模态框的例子
2019/09/27 Javascript
微信小程序开发摇一摇功能
2019/11/22 Javascript
[02:26]2018DOTA2亚洲邀请赛赛前采访-Newbee篇
2018/04/03 DOTA
如何利用Python模拟GitHub登录详解
2019/07/15 Python
python按修改时间顺序排列文件的实例代码
2019/07/25 Python
python图形用户接口实例详解
2019/12/16 Python
python实现12306登录并保存cookie的方法示例
2019/12/17 Python
django有外键关系的两张表如何相互查找
2020/02/10 Python
新手入门学习python Numpy基础操作
2020/03/02 Python
Python基于gevent实现文件字符串查找器
2020/08/11 Python
CSS中几个与换行有关的属性简明总结
2014/04/15 HTML / CSS
详解HTML5中的元素与元素
2015/08/17 HTML / CSS
美国知名女性服饰品牌:New York & Company
2017/03/23 全球购物
护士自荐信怎么写
2013/10/18 职场文书
幼儿园儿童节活动主持词+串词大全
2014/03/21 职场文书
职工代表大会主持词
2014/04/01 职场文书
电子商务助理求职自荐信
2014/04/10 职场文书
放飞梦想演讲稿200字
2014/08/26 职场文书
高中班长竞选稿
2015/11/20 职场文书