1
我正在使用bufio扫描仪的.Scan()方法来读取文本文件行,但是当我在文件行中达到一定的大小时,扫描仪不再允许我读取,它只是返回一个空行。Golang - 如何克服bufio扫描()缓冲区限制?
,我应该如何配置缓冲任何建议采取更大量的数据
的bigfile.txt的仅仅是一个在用空格隔开一行许多整数文件。例如一行中有40000个整数。 (请注意,它为10000点的整数且小于文件中的行,但例如不40000) 234 544 765 45 34 67 67 87 98 43 [... N = 40000]
func main() {
readInputFile("bigfile.txt")
}
func readInputFile(name string) {
inFile, _ := os.Open(name)
defer inFile.Close()
scanner := bufio.NewScanner(inFile)
for scanner.Scan() {
line := scanner.Text()
fmt.Printf(line)
}
}
你'for'循环后添加一个调用'scanner.Err()',看看它给你。那里可能有用吗? https://golang.org/pkg/bufio/#Scanner.Err – jcbwlkr