fix the bug which the offset beyond buffer length

The offset should be 0 every time to reuse the buffer, and use the increase posision to travel the file instead of using offset in buffer. The bug is, when file larger than 4096, the offset will larger than 4096 which will cause the fs.read pop offset out of bounds issue.