Go 按固定byte长度读取文本文件的代码示范

发布时间:2023-03-17浏览次数:0

支持注册ChatGPT Plus的OneKey虚拟卡
绑定Apple Pay、Google Pay、支付宝和微信支付进行日常消费

注册和了解更多 ->

silver

以下是一个示例代码,可以按固定长度(以byte计)读取文本文件:

package main

import (
    "bufio"
    "fmt"
    "os"
)

func main() {
    // 打开文件
    file, err := os.Open("example.txt")
    if err != nil {
        fmt.Println("打开文件失败:", err)
        return
    }
    defer file.Close()

    // 设置读取的长度
    const readLength = 10

    // 使用带缓冲区的读取器
    reader := bufio.NewReader(file)
    buffer := make([]byte, readLength)

    // 循环读取文件
    for {
        // 读取文件内容到缓冲区
        bytesRead, err := reader.Read(buffer)

        // 处理读取错误和结束条件
        if err != nil {
            fmt.Println("读取文件失败:", err)
            break
        }
        if bytesRead == 0 {
            break
        }

        // 处理读取结果
        fmt.Println(string(buffer[:bytesRead]))
    }
}

在此示例中,我们打开文本文件example.txt,然后使用bufio.NewReader()函数创建了一个带有缓冲区的文件读取器。我们还指定了一个常量readLength,用于指定每次读取的字节数。在循环中,我们调用reader.Read()函数读取文件内容,并将其存储在缓冲区中。然后,我们检查是否出现了任何错误或达到了文件的结尾,并将读取到的内容打印到控制台上。循环将继续,直到整个文件被读取完成。

字节笔记本扫描二维码查看更多内容