• 免费注册  马上登录
  • 切换到窄版
  • go语言|go语言部落|go文库

    查看: 337|回复: 0

    go语言读取文件方法之file.Read

    [复制链接]

    16

    主题

    17

    帖子

    74

    积分

    网站编辑

    Rank: 8Rank: 8

    积分
    74
    发表于 2019-12-5 22:18:14 | 显示全部楼层 |阅读模式
    *file.Read()
    Read方法定义如下:
    func (f *File) Read(b [byte) (n int, err error)
    它接收一个字节切片,返回读取的字节数和可能的具体错误,读到文件末尾时会返回0和io.EOF。 举个例子:

    package main

    import (
       "fmt"
       "io"
       "os"
    )

    //打开文件
    func main(){
       //打开文件,os.Open()
    fileObj,err :=os.Open("./main.go")
       if err !=nil{
          fmt.Printf("打开文件失败,err:%v\n",err)
          return
       }
       //记得关闭文件,*file.Close()
    defer fileObj.Close()
       //读取文件,*file.Read()
    var tmp =make([]byte,128)
       for{
       i,err :=fileObj.Read(tmp)
       if err==io.EOF{
          fmt.Println("读完了")
       }
       if err !=nil{
          fmt.Printf("read file failederr:%v\n",err)
          goto xx
       }
       fmt.Printf("读取%v字节\n",i)
       fmt.Println(string(tmp[:i]))
       if i<128{
          return
       }
       }
       xx:
          fmt.Println("错误跳出")
    }


    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|Go语言社区

    GMT+8, 2020-9-19 06:59 , Processed in 0.039471 second(s), 17 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表