美文网首页
golang *FILE Read方法

golang *FILE Read方法

作者: 我的饭卡呢 | 来源:发表于2018-05-14 11:12 被阅读11次
    package main
    
    import (
        "fmt"
        "os"
        "io"
    )
    
    func main(){
        fileName := "src/day10/file/test.txt" 
        file,err := os.Open(fileName)
        defer file.Close()
        if err != nil{
            fmt.Println("Open the file failed,err:",err)
        }
        var arr [256]byte
        var buf []byte
        var i int = 0
        for{
            i++
            fmt.Println(i)
            n,err := file.Read(arr[:])
            if err == io.EOF{
                fmt.Println("file read finished")
                break
            }
            if err != nil {
                fmt.Println("file read failed")
                os.Exit(-1)
            }
    
            buf = append(buf,arr[:n]...)
    
            fmt.Println(string(buf))
    
        }
        fmt.Println(string(buf))
    
    
    }
    

    打印结果如下:
    ···
    1
    hello world
    copy test
    open file
    2
    file read finished
    hello world
    copy test
    open file
    ···
    通过结果可以查看到os包中*File的read方法在可以一次性读取完所有内容,如果读取完第一次并不会返回io.EOF,但是第二次读取的时候会返回这个err。

    相关文章

      网友评论

          本文标题:golang *FILE Read方法

          本文链接:https://www.haomeiwen.com/subject/smyddftx.html