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

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字节的切片

 

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)
        }    
}

 

你可能感兴趣的:([日常] Go-逐行读取文本信息)