Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >[日常] Go-逐行读取文本信息

[日常] Go-逐行读取文本信息

作者头像
唯一Chat
发布于 2019-09-10 03:19:15
发布于 2019-09-10 03:19:15
90300
代码可运行
举报
文章被收录于专栏:陶士涵的菜地陶士涵的菜地
运行总次数:0
代码可运行

go逐行读取文本信息: 1.os包提供了操作系统函数的不依赖平台的接口,Open方法打开一个文件用于读取,func Open(name string) (file *File, err error) 2.bufio包实现了有缓冲的I/O,NewReader方法创建一个具有默认大小缓冲、从r读取的*Reader,func NewReader(rd io.Reader) *Reader 3.*Reader类的ReadBytes读取直到第一次遇到delim字节,返回一个包含已读取的数据和delim字节的切片

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package main

import (
        "bufio"
        "fmt"
        "io"
        "os"
        "strings"
        "log"
)


func main() {
        file,err:=os.Open("a.txt")
        if err != nil {
                log.Fatal(err)
        }   
        reader:=bufio.NewReader(file)
        for{
                line,err:=reader.ReadBytes('\n')
                if err !=nil{
                        if err==io.EOF{
                                break
                        }   
                        log.Fatal(err)
                }   
                lineStr:=strings.TrimSpace(string(line))
                fmt.Println(lineStr)
        }    
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-01-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
[Go] go等待读取最后一行的数据内容
这段代码是参照慕课网的视频教程,主要是f.Seek(0, os.SEEK_END)移动到末尾,但是里面有个小问题,当打开的文件被重新清空内容的清空下,就再也不能到读取数据了,比如在开启读取后 echo ''>1.log 这样就再也读不到了,tail包是解决了这个问题的
唯一Chat
2019/12/02
2.3K0
Go语言的IO库那么多,我该怎么选?
在计算机和信息技术领域里I/O这个术语表示输入 / 输出 ( 英语:Input / Output ) ,通常指数据在存储器(内部和外部)或其他周边设备之间的输入和输出,是信息处理系统与外部之间的通信。输入是系统接收的信号或数据,输出则是从其发送的信号或数据。
9号同学
2021/07/07
8190
Go语言的IO库那么多,我该怎么选?
golang bufio包怎么用?
上面实现了一个简单的文件读取功能,能正常工作,但是有一个有一个问题,每次从文件读取3个字节,而且读取了10次,也就是读取了3 * 10 = 30个字节的数据,却做了10次io操作,性能可想而知。
每周聚焦
2024/06/17
1980
golang bufio包怎么用?
区块链开发之Go语言—IO操作
本篇文章是对区块链开发中的Go语言中常用的io操作的库做一个梳理 io,最基本的io Reader type Reader interface { Read(p []byte) (n int, err error) } 实现了Reader接口的都可以用read方法,将数据读入到p字节数组,n表示读取了几个字节,err返回错误。 如果读到了文件尾EOF,则err返回EOF。 注意,当文件最后一小段已经无法填满p这个字节数组时,不会产生EOF的错误,只会在下一次读取时产生n=0,err=io.EOF的错
linxinzhe
2018/04/10
1.1K0
go 读取文件
对于循环的每一次迭代,内部文件指针被更新。当下一次读取发生时,从文件指针偏移开始的数据返回到缓冲区的大小。所有读取/读取调用在内部翻译成系统调用并发送到内核,内核管理这个指针。
solate
2019/07/22
2.3K0
Golang读写文件操作
最近在使用Golang进行文件读写的过程中,遇到几个细节问题导致程序写入数据时有一定脏数据的残留,最后发现是使用os.OpenFile在进行文件操作的时候没有使用正确的flag造成的。因此专门去学习了下Golang中读写文件的几种方式方法,在此记录下一些简单的操作,防止以后遗忘。 读文件 使用golang语言去读取一个文件默认会有多种方式,这里主要介绍以下几种。 使用ioutil直接读取 需要引入io/ioutil包,该包默认拥有以下函数供用户调用。 func NopCloser(r io.Reader)
BGBiao
2018/02/26
4.2K0
32.Go文本文件处理-读取文件
在向文件中写数据的时候,使用的是Write,那么读取文件中的数据,使用的是Read.
Devops海洋的渔夫
2022/01/17
6220
Go 文件的读取操作
Go 标准库的 os 包,为我们提供很多操作文件的函数,如 Open(name) 打开文件、Create(name) 创建文件等函数,与之对应的是 bufio 包,os 包是直接对磁盘进行操作的,而 bufio 包则是带有缓冲的操作,不用每次都去操作磁盘。
每周聚焦
2024/11/06
520
Go 文件的读取操作
超全总结:Go语言如何操作文件
本文所有代码已经上传github:https://github.com/asong2020/Golang_Dream/tree/master/code_demo/file_operate_demo
Golang梦工厂
2022/12/08
3950
超全总结:Go语言如何操作文件
Go:标准库bufio包详解
在日常开发中,对文件或输入输出流进行读写操作是非常常见的任务。Go语言标准库中的bufio包提供了数据的缓冲读写功能,使得读写操作更加高效。本文将详细介绍bufio包的主要功能及其在实际编程中的应用场景。
运维开发王义杰
2024/05/10
1.1K0
Go:标准库bufio包详解
golang-101-hacks(25)——Buffered read
bufio.NewReader(f)生成一个 bufio.Reader结构体,其实现了缓冲读取的方法 (c)
羊羽shine
2019/07/01
4080
GoLang读写数据---上
从键盘和标准输入 os.Stdin 读取输入,最简单的办法是使用 fmt 包提供的相关函数。
大忽悠爱学习
2022/08/23
5930
GoLang读写数据---上
Golang之文件读写
读写文件,不添加文件路径,默认写入到GOPATH路径下 终端读写: 源码 func Sscanf func Sscanf(str string, format string, a ...interface{}) (n int, err error) 解释:Sscanf scans the argument string, storing successive space-separated values into successive arguments as determined by the form
超蛋lhy
2018/08/31
1.2K0
Golang之文件读写
Golang 语言标准库 io 详解
Go 语言标准库 io 提供 I/O 原语的基本接口。所谓 I/O,顾名思义 input 和 output,即数据输入和输出。
frank.
2023/03/13
5760
Golang 语言标准库 io 详解
Go 语言标准库 bufio 详解
Go 语言标准库 bufio 是基于 Go 语言标准库 io 实现的,查看源码可以发现,实际上它是包装了 io.Reader 接口和 io.Writer 接口,并且实现它们。
frank.
2023/04/06
6060
Go 语言标准库 bufio 详解
Golang 按行读取文件的三种方法
Golang 中有一个 bufio 包,它提供了 Scanner 类型,可以方便地按行读取文件。我们可以使用 Scanner 的 Scan() 方法来读取每一行。
恋喵大鲤鱼
2023/04/30
9.4K0
一文掌握 Go 文件的读取和写入操作
Go 标准库的 os 包,为我们提供很多操作文件的函数,如 Open(name) 打开文件、Create(name) 创建文件等函数,与之对应的是 bufio 包,os 包是直接对磁盘进行操作的,而 bufio 包则是带有缓冲的操作,不用每次都去操作磁盘。
陈明勇
2023/10/15
8250
一文掌握 Go 文件的读取和写入操作
go语言之IO操作(待补充)
在Go中,输入和输出操作都是使用原语实现的,原语将数据模拟成可读的或者可写的字节流。 而Go的io包提供了io.Reader(将数据从某个资源读取到传输缓冲区被流式传输和使用)和io.Writer(从缓冲区读取数据,并写入目标资源)接口。
友儿
2022/09/11
3360
io.Reader 解析
简介 io.Reader 是一个 Interface 类型,功能非常强大,在任何需要读的地方我们都尽量使用它。先来看下它的原型: type Reader interface { Read(p []byte) (n int, err error) } 可见,任何实现了 Read() 函数的对象都可以作为 Reader 来使用。 Reader 类型 标准库中有许多不同的 Reader 类型,最常见的就是 bytes, strings 等几个库。我们或多或少都用过它们。下面来看几个最常见的例子: 文件操作 当
李海彬
2018/03/28
2.5K0
Golang包——bufio
bufio是“buffered I/O”的缩写 bufio.Reader type Reader struct { buf []byte // 缓存 rd io.Reader // 底层的io.Reader // r:从buf中读走的字节(偏移);w:buf中填充内容的偏移; // w - r 是buf中可被读的长度(缓存数据的大小),也是Buffered()方法的返回值 r, w int
羊羽shine
2019/05/29
6880
相关推荐
[Go] go等待读取最后一行的数据内容
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文