- Notifications
You must be signed in to change notification settings - Fork5
StoicPerlman/fls
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Seek to any line in a file without reading the whole file into memory. Works similar to os.File.Seek.
https://godoc.org/github.com/StoicPerlman/fls
import"github.com/stoicperlman/fls"// use fls.LineFile(file *os.File) *File// for files opened from os packagef,_:=os.OpenFile("test.log",os.O_CREATE|os.O_RDONLY,0600)deferf.Close()file:=fls.LineFile(f)pos,err:=file.SeekLine(-10,io.SeekEnd)// use os file wrappers to open without os package// fls.OpenFile(name string, flag int, perm os.FileMode) (*File, error)f,err:=fls.OpenFile("test.log",os.O_CREATE|os.O_WRONLY,0600)deferf.Close()pos,err:=f.SeekLine(-10,io.SeekEnd)
func (file *File) SeekLine(lines int64, whence int) (int64, error)
- positive lines will move forward in file
- 0 lines will move to begining of line
- negative lines will move backwards in file
file.SeekLine(-1,io.SeekStart)// return EOFfile.SeekLine(0,io.SeekStart)// return begining line 1file.SeekLine(1,io.SeekStart)// return begining line 2file.SeekLine(-1,io.SeekCurrent)// return begining of previous linefile.SeekLine(0,io.SeekCurrent)// return begining of current linefile.SeekLine(1,io.SeekCurrent)// return begining of next linefile.SeekLine(-1,io.SeekEnd)// return begining of second to last linefile.SeekLine(0,io.SeekEnd)// return begining of last linefile.SeekLine(1,io.SeekEnd)// return EOF
About
Go File Line Seeker
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
No releases published
Packages0
No packages published