我有一个平面文件,其中包含339276行文本,大小为62.1 MB.我试图读取所有行,根据我的一些条件解析它们,然后将它们插入到数据库中.
我最初尝试使用bufio.Scan()循环和bufio.Text()来获取行,但我的缓冲区空间不足.我切换到使用bufio.ReadLine/ReadString/ReadByte(我尝试了每个)并且每个都有相同的问题.我没有足够的缓冲空间.
我尝试使用read并设置缓冲区大小,但正如文档所说,它实际上是一个const,可以做得更小但从不大于64*1024字节.然后我尝试使用File.ReadAt设置起始postilion并将其移动,因为我带来了每个部分无济于事.我查看了以下示例和解释(不是详尽的列表):
将文本文件读入字符串数组(并写入) 如何读取大文件中的最后一行,每隔10秒 读取一行中的文件go go
我如何将整个文件(一行一行或一次整个)读入一个切片,这样我就可以去做行了?
这是我尝试过的一些代码:
file, err := os.Open(feedFolder + value)
handleError(err)
defer file.Close()
// fileInfo, _ := file.Stat()
var linesInFile []string
r := bufio.NewReader(file)
for {
path, err := r.ReadLine("\n") // 0x0A separator = newline
linesInFile = append(linesInFile, path)
if err == io.EOF {
fmt.Printf("End Of File: %s", err)
break
} else if err != nil {
handleError(err) // if you return error
}
}
fmt.Println("Last Line: ", linesInFile[len(linesInFile)-1])
Run Code Online (Sandbox Code Playgroud)
这是我尝试的其他东西:
var fileSize int64 = …Run Code Online (Sandbox Code Playgroud) 在这个链接的 jsfiddle图表中,图表的线条是绿色的,但类别上方的线条是蓝色的。如何使该行(和分隔符)变为绿色?我查看了 API,因为我的直觉告诉我类别上有一个颜色属性,但我没有发现任何显示这一点的信息。我在谷歌上上下搜索了这一点,只找到了改变其他所有东西颜色的方法。
Highcharts.chart('container', {
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
yAxis: {
gridLineColor: '#197F07'
},
series: [{
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
}]
Run Code Online (Sandbox Code Playgroud)
});