读取文件

1.使用os包读取全部文件:
func osReadFile(fileName string) ([]byte , error) {
      return os.ReadFile(fileName)
}
2.使用os包按照切片分片读取:
func osRead(fileName string) ([]byte , error) {
    file , err := os.Open(fileName)
    if err != nil {
        return []byte{} , err
    }
    defer file.Close()

    res := []byte{}
    tmp := make([]byte,1024*4)
    for {
        n , err := file.Read(tmp)
        if err != nil  && err != io.EOF{
            return []byte{} , err
        }
        res = append(res , tmp[:n]...)
        if err == io.EOF {
            break
        }
    }
    return res , nil
}
3.使用ioutil包读取全部文件:
func ioutilReadAll(fileName string) ([]byte , error) {
     file , err := os.Open(fileName)
     if err != nil {
         return []byte{} , err
     }
     defer file.Close()

     return ioutil.ReadAll(file)
}
4.使用bufio按照字节截断读取字节:
func bufioReadBytes(fileName string) ([]byte , error){
    file , err := os.Open(fileName)
    if err != nil {
        return []byte{} , err
    }
    defer file.Close()

    reader := bufio.NewReader(file)
    res := []byte{}
    for {
        tmp , err := reader.ReadBytes('\n')
        if err != nil && err != io.EOF {
            return []byte{} , err
        }
        res = append(res,tmp...)
        if err == io.EOF{
            break
        }
    }
    return res , nil
}
5.使用bufio按照字节截断读取字符串:
func bufioReadString(fileName string) (string , error) {
    file , err := os.Open(fileName)
    if err != nil {
        return "" , err
    }
    defer file.Close()

    res := ""
    reader := bufio.NewReader(file)
    for {
        tmp , err := reader.ReadString('\n')
        if err != nil && err != io.EOF {
            return "" , err
        }
        res += tmp
        if err == io.EOF {
            break
        }
    }
    return res , nil
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、一次性读取全部文件 1、使用 os 包配合 ioutil 包读取 2、仅使用 ioutil 包读取 二、逐行读...
    _Van丶阅读 756评论 0 0
  • 35. 读取文件 文件读取是所有编程语言中最常见的操作之一。本教程我们会学习如何使用 Go 读取文件。 本教程分为...
    泷汰泱阅读 323评论 0 0
  • 读取文件是一个经常用到的功能,比如从文件目录中读取一张照片,读取一个txt文件,word,excel等等,今天我们...
    酷走天涯阅读 684评论 0 0
  • 参考 Go实战--golang中读写文件的几种方式 读文件 读取的文件放在file/test:也就是file包下的...
    e0c52543163a阅读 49,577评论 1 4
  • 文章目录 文件信息接口os.FileInfo 文件的常规操作 (os包) 文件的读取和写入 (io及os包) io...
    __robin阅读 5,939评论 0 4