Alright, just because I'm me, I just finished writing code to read either a UTF-16, UTF-8, or ASCII file into memory. The above CSV parser could easily be adapted to use it, and it'd speed up the file I/O because it'd already be in memory. Yeah yeah, it's still doing it in memory, and I'll let others make it all disk-based if they feel the need.

Here's the link to the UTF-16, UTF-8, or ASCII file reader:

http://www.vbforums.com/showthread.p...nd-UTF-8-Files