我正在读取大文件并通过 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)
最佳答案
两个想法:
创建您自己的 Reader 实现,包装 bufio.Reader 并实现替换逻辑(您必须计算读取字节数)。
调用 io.Pipe,将返回的 PipeReader 传递给 NewRequest 并启动一个单独的 goroutine,该 goroutine 将从文件中读取数据,修改它并写入返回的 PipeWriter。
希望这是有道理的。
关于go - golang中bufio的修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32089693/