golang中bufio的曲解

时间:2015-08-19 07:57:20

标签: go

我通过http POST读取大文件并发送此文件。 我用bufio。

现在我想修改这个文件的第一行,怎么做?

f := bufio.NewReaderSize(os.Stdin, 65536)
bufPart, err := f.Peek(65536))
//how to modify bufPart(f) ?
...
req, err := http.NewRequest("POST", url, f)

1 个答案:

答案 0 :(得分:2)

两个想法如何做到:

  1. 创建自己的Reader实现,包装bufio.Reader并实现替换逻辑(您必须计算读取字节数)。

  2. 调用io.Pipe,将返回的PipeReader传递给NewRequest并启动一个单独的goroutine,它将从文件读取数据,修改它并写入返回的PipeWriter。

  3. 希望这是有道理的。