我在 go 中有两种类型的文件,可以用以下字符串表示:
const nonewline := 'hello' # content but no newline const newline := `hello\nworld' # content with newline
我的目标只是读取两个文件中的所有内容(它通过流进入,所以我不能使用像 ReadAll 这样的内置内容,我正在使用stdioPipe
)并在它们出现的地方包含换行符。
我正在使用 Scanner 但它似乎没有办法判断该行是否以换行符结尾,如果我使用Scanner.Text()
它会自动拆分(因此无法判断一行是否以换行符结尾,或者该行刚刚终止于文件末尾)。
我也研究过编写自定义 Split 函数,但这不是太过分了吗?我只需要拆分一些固定长度(我假设默认缓冲区大小 - 4096),或者文件中剩余的任何内容,以较短者为准。
我也在看,Scanner.Split(bufio.ScanBytes)
但是通过分块读取可以加快速度吗?
无论如何,这似乎应该是非常简单的事情。
元芳怎么了
相关分类