关闭

golang文件读取-按指定BUFF大小读取

标签: filereadwrite
52人阅读 评论(0) 收藏 举报
分类:

golang文件读取-按指定BUFF大小读取

a.txt文件内容:

ABCDEFGHI
HELLO GOLANG

package main

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

func main() {
    fileName := "C:\\Robert\\日志分析\\tools_go\\vdn_sqlInterface\\a.txt"
    file, err := os.OpenFile(fileName, os.O_RDWR, 0666)
    if err != nil {
        fmt.Println("Open file error!", err)
        return
    }
    defer file.Close()

    stat, err := file.Stat()
    if err != nil {
        panic(err)
    }

    var size = stat.Size()
    fmt.Println("file size=", size)

    // define read block size = 2
    buf := make([]byte, 2)
    for {
        length, err := file.Read(buf)
        if err != nil {
            if err == io.EOF {
                break
            } else {
                fmt.Println("Read file error!", err)
                return
            }
        }

        fmt.Println(length, string(buf))
    }

    fmt.Println("File read ok!")
}

输出:
每次读取2个字节的大小并输出

file size= 23
2 AB
2 CD
2 EF
2 GH
2 I
2
H
2 EL
2 LO
2 G
2 OL
2 AN
1 GN
File read ok!

0
0
查看评论

GoLang几种读文件方式的比较

GoLang提供了很多读文件的方式,一般来说常用的有三种。使用Read加上buffer,使用bufio库和ioutil 库。 那他们的效率如何呢?用一个简单的程序来评测一下:        Go代码   package...
  • webxscan
  • webxscan
  • 2017-03-13 18:58
  • 406

Go实战--golang中读写文件的几种方式

生命不止,继续 go go go !!!读写文件应该是在开发过程中经常遇到的,今天要跟大家一起分享的就是在golang的世界中,如何读写文件。使用io/ioutil进行读写文件先回忆下之前的ioutil包介绍: Go语言学习之ioutil包(The way to go)其中提到了两个方法: fu...
  • wangshubo1989
  • wangshubo1989
  • 2017-07-07 19:49
  • 10982

go语言文件读写

package main import ( "fmt" "os" "bufio" "io" "io/ioutil" ) func readFile(path string){ file...
  • chenxun2009
  • chenxun2009
  • 2017-03-17 01:02
  • 1233

golang文件读取-按行读取

golang文件读取-按行读取 a.txt文件内容: ABCDEFGHI HELLO GOLANG package main import ( "fmt" "os" "io" &q...
  • robertkun
  • robertkun
  • 2018-01-25 16:49
  • 77

Go语言_Go_Golang 逐行读取文件

示例代码 // File_test2 project main.go package main import ( "bufio" "fmt" "io" "os" "strings" ) ...
  • u010003835
  • u010003835
  • 2016-07-11 18:25
  • 9805

golang按行读取文件

f, err := os.Open("test.txt") if err != nil { panic(err) } defer f.Close() rd := bufio.NewReader(f) for { ...
  • esrrhs
  • esrrhs
  • 2014-02-15 14:41
  • 2591

Go1.9按行读取日志文件并处理

package mainimport ( "bufio" "bytes" "context" "log" "os" "sync" )...
  • fyxichen
  • fyxichen
  • 2017-06-22 17:24
  • 860

Golang给目录按时间排序.正则、时间条件搜索文件

package main import ( "fmt" "io/ioutil" "os" "sort" ) func main() { list, err := ReadDir("AutoUpda...
  • fyxichen
  • fyxichen
  • 2016-03-27 15:02
  • 1463

golang读取文本文件示例

一般文件比较小的话可以将文件全部读入内存中,然后转换成string再按行分割一下 func GetFileContentAsStringLines(filePath string) ([]string, error) { logger.Infof("get file content as...
  • xielingyun
  • xielingyun
  • 2015-12-16 10:31
  • 3255

C++按行读取文本文件,并通过分隔符取值

C++按行读取文本文件,并通过分隔符取值!
  • gx_489587482
  • gx_489587482
  • 2016-11-26 22:20
  • 1190
    个人资料
    • 访问:716750次
    • 积分:8987
    • 等级:
    • 排名:第2506名
    • 原创:182篇
    • 转载:125篇
    • 译文:1篇
    • 评论:109条
    博客专栏
    初识Qt

    文章:43篇

    阅读:147934
    文章分类
    最新评论