My program is keeping a log for the user. If the log ever gets bigger than a set amount, I want to delete the first 20% of lines.

From similar questions, I've seen suggestions to do read in the old file, and write out all the lines I want to keep into a new file. However, my files might be too large to be constantly reading them in, and using that method wouldn't let me keep the same file name. 

Can I delete lines from a file without reading in my old file?