我想打开一个本地文件,然后返回一个io.Reader.原因是我需要将io.Reader提供给我正在使用的库,例如:
func read(r io.Reader) (results []string) {
}
Run Code Online (Sandbox Code Playgroud)
fab*_*ioM 86
os.Open 返回一个 io.Reader
http://play.golang.org/p/BskGT09kxL
package main
import (
"fmt"
"io"
"os"
)
var _ io.Reader = (*os.File)(nil)
func main() {
fmt.Println("Hello, playground")
}
Run Code Online (Sandbox Code Playgroud)
Yan*_*ozo 19
类型*os.File实现了io.Reader接口,因此您可以将文件作为Reader返回.但是如果您有读取大文件的意图,我建议您使用bufio包,如下所示:
file, err := os.Open("path/file.ext")
// if err != nil { ... }
return bufio.NewReader(file)
Run Code Online (Sandbox Code Playgroud)
这是我们打开一个文本文件并从返回的 *os.File 实例 f 创建一个 io.Reader 的示例
package main
import (
"io"
"os"
)
func main() {
f, err := os.Open("somefile.txt")
if err != nil {
panic(err)
}
defer f.Close()
var r io.Reader
r = f
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
59809 次 |
| 最近记录: |