美文网首页
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