VBcoders Guest



Don't have an account yet? Register
 


Forgot Password?



FileBuffer Count Lines, Words, Strings in Files (super fast)

by Michael L. Canejo (28 Submissions)
Category: Files/File Controls/Input/Output
Difficulty: Intermediate
Date Added: Wed 3rd February 2021
Rating: (4 Votes)

In rare situations, there are times where you may need to know how many line-breaks a file contains "before hand". The situation for me was that I wanted to let the user of my program know what percentage of a file was being read (had to be line by line) and inorder to do this, I had to know how many lines a file contained.
Now, this is meant for HUGE lists of files. Examples are, email lists, number lists, contact lists, etc. This code will read 1,000,000 lines of a file per second (my machine is 2.6 Ghz, p4, 512MB ram). This is VERY fast. I included a benchmarking class so you can see it for yourself. I also included a zipped file which contains one million lines (16MB unzipped, 40KB zipped) and a file containing one hundred thousand lines of text as well.
NOTE: This isn't just for counting lines in a file, it can be used to count how many occurances a string comes up, such as a First Name, a Last Name, a phone number, a word, etc. The whole point of this program is to buffer a file into memory as fast as the hard drive can go (1MB buffer by default) and then read off that buffered data as it comes in.
The OLD/Popular method for counting lines:
Dim lLineCount as long, strLine as string * 1
Open "C:\file.txt" for input as #1
Do While not eof(1)
Line Input #1, strLine
lLineCount = lLineCount + 1
Loop
MsgBox lLineCount & " Lines Read."

Inputs
A file
Code Returns
how many lines or strings were found.

Rate FileBuffer Count Lines, Words, Strings in Files (super fast)

Download FileBuffer Count Lines, Words, Strings in Files (super fast)

Download FileBuffer Count Lines, Words, Strings in Files (super fast) (14 KB)

FileBuffer Count Lines, Words, Strings in Files (super fast) Comments

No comments have been posted about FileBuffer Count Lines, Words, Strings in Files (super fast). Why not be the first to post a comment about FileBuffer Count Lines, Words, Strings in Files (super fast).

Post your comment

Subject:
Message:
0/1000 characters