• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

90_Go基础_1_58read

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
 1 package main
 2 
 3 import (
 4     "fmt"
 5     "io"
 6     "os"
 7 )
 8 
 9 func main() {
10     /*
11         读取数据:
12             Reader接口:
13                 Read(p []byte)(n int, error)
14     */
15 
16     // step1:打开文件
17     fileName := "D:\\Go\\web2\\aa.txt"
18     file, err := os.Open(fileName)
19     if err != nil {
20         fmt.Println("err:", err)
21         return
22     }
23     // step3:关闭文件
24     defer file.Close()
25 
26     // step2:读取数据
27     bs := make([]byte, 4)
28 
29     // //第一次读取
30     // n, err := file.Read(bs)
31     // fmt.Println(err)        // <nil>
32     // fmt.Println(n)          // 4
33     // fmt.Println(bs)         // [97 98 99 100]
34     // fmt.Println(string(bs)) // abcd
35 
36     // //第二次读取
37     // n, err = file.Read(bs)
38     // fmt.Println(err)        // <nil>
39     // fmt.Println(n)          // 4
40     // fmt.Println(bs)         // [101 102 103 104]
41     // fmt.Println(string(bs)) // efgh
42 
43     // //第三次读取
44     // n, err = file.Read(bs)
45     // fmt.Println(err)        //<nil>
46     // fmt.Println(n)          //2
47     // fmt.Println(bs)         //[105 106 103 104]
48     // fmt.Println(string(bs)) //ijgh
49 
50     // //第四次读取
51     // n, err = file.Read(bs)
52     // fmt.Println(err) //EOF
53     // fmt.Println(n)   //0
54 
55     n := -1
56     for {
57         n, err = file.Read(bs)
58         if n == 0 || err == io.EOF {
59             fmt.Println("读取到了文件的末尾,结束读取操作。。")
60             break
61         }
62         fmt.Println(n, string(bs[:n]))
63         // 4 abcd
64         // 4 efgh
65         // 4 ijkl
66         // 4 mnop
67         // 4 qrst
68         // 4 uvwx
69         // 2 yz
70     }
71 }

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
go语言之进阶篇无缓冲channel发布时间:2022-07-10
下一篇:
Go-常量-const发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap