文件读取问题

sharkLoc · · 789 次点击
更多评论
你是指在 nil 判断中不该用 bufio.NewReader(fp) ?
#2
题主这个问题蛮好的。 1 我一开始的猜想是,经过了 ``` fz, fzEr :=gzip.NewReader(fp) ``` 的处理,fp 的文件读偏移量发生了变化,导致后续被 ``` reader = bufio.NewReader(fp) ``` 处理时,无法正常完成。调试时,却没有准确的信息以辅助分析 2 后来,在 ``` reader = bufio.NewReader(fp) ``` 之前加了一行 ``` fp.Seek(0, 0) ``` ,将 fp 的文件读偏移量显式的重置回起始处,发现可以正常打印了,看来确实是由于前一步的 ``` gzip.NewReader ``` 导致了发生偏移。 3 看了下 ``` gzip.NewReader ``` 的 相关文档, ``` // NewReader creates a new Reader reading the given reader. // If r does not also implement io.ByteReader, // the decompressor may read more data than necessary from r. ``` 只能说略有收货,不知道有没有人可以明确的指出偏移量是哪个参数
#3