winzip icon

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

Email
Submitted on: 2/15/2015 8:12:00 AM
By: Michael L. Canejo (from psc cd)  
Level: Intermediate
User Rating: By 4 Users
Compatibility: VB 4.0 (16-bit), VB 4.0 (32-bit), VB 5.0, VB 6.0, VB Script
Views: 1768
 
     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."

 
winzip iconDownload code

Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. Afterdownloading it, you will need a program like Winzip to decompress it.Virus note:All files are scanned once-a-day by Planet Source Code for viruses, but new viruses come out every day, so no prevention program can catch 100% of them. For your own safety, please:
  1. Re-scan downloaded files using your personal virus checker before using it.
  2. NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.
  3. Scan the source code with Minnow's Project Scanner

If you don't have a virus scanner, you can get one at many places on the net including:McAfee.com


Other 27 submission(s) by this author

 


Report Bad Submission
Use this form to tell us if this entry should be deleted (i.e contains no code, is a virus, etc.).
This submission should be removed because:

Your Vote

What do you think of this code (in the Intermediate category)?
(The code with your highest vote will win this month's coding contest!)
Excellent  Good  Average  Below Average  Poor (See voting log ...)
 

Other User Comments


 There are no comments on this submission.
 

Add Your Feedback
Your feedback will be posted below and an email sent to the author. Please remember that the author was kind enough to share this with you, so any criticisms must be stated politely, or they will be deleted. (For feedback not related to this particular code, please click here instead.)
 

To post feedback, first please login.