• 90_Go基础_1_58 read


     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 }
  • 相关阅读:
    clickhouse集群部署
    zookeeper集群部署
    linux下安装多路径multipath
    采用xtrabackup部署主从同步(生产)
    部署dg备库同步ogg
    goldengate同步(主库rac从库单节点)
    python3发送邮件
    python2发送邮件
    pip版本过高导致报错
    ERROR 1558 (HY000): Column count of mysql.user is wrong
  • 原文地址:https://www.cnblogs.com/luwei0915/p/15638925.html
Copyright © 2020-2023  润新知