zoukankan      html  css  js  c++  java
  • [GO]使用bufio的文件读取方式

    package main
    
    import (
        "os"
        "fmt"
        "bufio"
        "io"
    )
    
    func ReadFileLine(path string)  {
        //打开文件
        f, err := os.Open(path)
        if err != nil {
            fmt.Println("open file err = ", err)
            return
        }
    
        defer f.Close()
    
        //新建一个缓冲区,把内容先放在缓冲区
        r := bufio.NewReader(f)
        //遇到
    则结束读取,但是
    也被读取了
        for {
            buf, err := r.ReadBytes('
    ')//通过源码得到的返回值的个数和类型
            if err != nil {
                if err == io.EOF {
                    break;
                }
                fmt.Println(" err = ", err)
            }
            fmt.Printf(" buf = #%s#
    ", string(buf))
        }
    
    }
    
    func main() {
        path := "./demo.txt"
        ReadFileLine(path)
    }

    执行结果

     buf = #i = 0
    #
     buf = #i = 1
    #
     buf = #i = 2
    #
     buf = #i = 3
    #
     buf = #i = 4
    #
     buf = #i = 5
    #
     buf = #i = 6
    #
     buf = #i = 7
    #
     buf = #i = 8
    #
     buf = #i = 9
    #
     buf = #i = 10
    #

    可以看到这里i=0后面的 也被读取了

  • 相关阅读:
    最短路(Floyed、Dijkstra、Bellman-Ford、SPFA)
    查找技术
    简单线段树
    dfs
    bfs
    插件工具集合
    Web前端代码规范
    Javascript 判断手机横竖屏状态
    Git 笔记2
    git 笔记 1
  • 原文地址:https://www.cnblogs.com/baylorqu/p/9669580.html
Copyright © 2011-2022 走看看