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语言中json数据的读取和写出操作
Apr 28 Golang
Golang 空map和未初始化map的注意事项说明
Apr 29 Golang
关于golang高并发的实现与注意事项说明
May 08 Golang
GoLang中生成UUID唯一标识的实现
May 08 Golang
Golang 实现获取当前函数名称和文件行号等操作
May 08 Golang
go xorm框架的使用
May 22 Golang
golang fmt格式“占位符”的实例用法详解
Jul 04 Golang
Go Plugins插件的实现方式
Aug 07 Golang
Go中的条件语句Switch示例详解
Aug 23 Golang
Go语言基础切片的创建及初始化示例详解
Nov 17 Golang
详解Go语言中Get/Post请求测试
Jun 01 Golang
Go gorilla/sessions库安装使用
Aug 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面向对象全攻略 (十) final static const关键字的使用
2009/09/30 PHP
PHP eval函数使用介绍
2013/12/08 PHP
CI框架学习笔记(二) -入口文件index.php
2014/10/27 PHP
WordPress中自定义后台管理界面配色方案的小技巧
2015/12/29 PHP
php获取一定范围内取N个不重复的随机数
2016/05/28 PHP
PHP单链表的实现代码
2016/07/05 PHP
PHP脚本自动识别验证码查询汽车违章
2016/12/20 PHP
thinkPHP5.0框架环境变量配置方法
2017/03/17 PHP
jQuery的运行机制和设计理念分析
2011/04/05 Javascript
php对mongodb的扩展(初识如故)
2012/11/11 Javascript
输入自动提示搜索提示功能的javascript:sugggestion.js
2013/09/02 Javascript
JS实现金额转换(将输入的阿拉伯数字)转换成中文的实现代码
2013/09/30 Javascript
两种js监听滚轮事件的实现方法
2016/05/13 Javascript
AngularJS利用Controller完成URL跳转
2016/08/09 Javascript
纯JS单页面赛车游戏制作代码分享
2017/03/03 Javascript
vue.js利用Object.defineProperty实现双向绑定
2017/03/09 Javascript
AngularJS实现表格的增删改查(仅限前端)
2017/07/04 Javascript
详谈ES6中的迭代器(Iterator)和生成器(Generator)
2017/07/31 Javascript
JS常见DOM节点操作示例【创建 ,插入,删除,复制,查找】
2018/05/14 Javascript
详解nodejs 开发企业微信第三方应用入门教程
2019/03/12 NodeJs
微信小程序 拍照或从相册选取图片上传代码实例
2019/08/28 Javascript
[06:06]2018DOTA2亚洲邀请赛主赛事第四日战况回顾 全明星赛欢乐上演
2018/04/07 DOTA
python原始套接字编程示例分享
2014/02/21 Python
python用BeautifulSoup库简单爬虫实例分析
2018/07/30 Python
Python pygorithm模块用法示例【常见算法测试】
2018/08/16 Python
Django权限控制的使用
2021/01/07 Python
使用HTML5的链接预取功能(link prefetching)给网站提速
2012/12/13 HTML / CSS
美国轮胎网站:Priority Tire
2018/11/28 全球购物
顶撞领导检讨书
2014/01/29 职场文书
大学生活动策划方案
2014/02/10 职场文书
写自荐信的注意事项
2014/03/09 职场文书
党员服务承诺书
2014/05/28 职场文书
体育比赛口号
2014/06/09 职场文书
邓小平理论心得体会
2014/09/09 职场文书
学校领导班子四风问题整改意见
2014/10/02 职场文书
解决Python中的modf()函数取小数部分不准确问题
2021/05/28 Python