golang代码实例库

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1922|回复: 0

golang:逐行(一行行)读取文件内容

[复制链接]

82

主题

82

帖子

486

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
486
发表于 2021-12-6 22:56:56 | 显示全部楼层 |阅读模式
实例说明
我们经常讲一些格式化好的数据保存到文件中,然后一行行到读取文件进行处理,下面演示一种一行行读取文件的方法。
1)逐行读取文件


实例代码
[Golang] 纯文本查看 复制代码

package main

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

// 一行行读取文件
func ReadLines(fileName string) ([]string, error) {
        // 打开文件
        file, err := os.Open(fileName)
        if err != nil {
                return nil, err
        }
        // 方法退出时关闭文件
        defer file.Close()

        lines := make([]string, 0)
        // 一行行读取文件
        br := bufio.NewReader(file)
        for {
                line, _, err := br.ReadLine()
                if err == io.EOF {
                        break
                }
                // 这里放入切片中,也可以直接处理line数据
                lines = append(lines, string(line))
        }

        return lines, nil
}

func main() {

        fileName := "/data/readLines.txt"
        lines, err := ReadLines(fileName)

        fmt.Printf("err:%+v, lines=%+v", err, lines)
        // 输出:err:<nil>, lines=[1234 5678 9012 zhongguo 中国]
}




回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|golang代码实例库 ( 粤ICP备2021162396号 )

GMT+8, 2025-1-22 12:58 , Processed in 0.016916 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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