Utilities.  Initially with a CSV parser.
homepage for utils.
Added browser control class.
Fixed bug with name of jar file.
Added URL for browser opening tip on javaworld.
StringTokenizer replacement.
Added StrightStreamReader description.
Input Stream Reader that does no character encoding translations.
Added StraightStreamReader stuff, alphabatized sections, and fixed some spelling.
Added GPL header.
making constructor public.
Optimized buffer size created for reads and added some more test
cases to test it better.  Changed the documentation to suggest a buffered reader.
The internal buffer will have the same length as the user supplied one.
The problem is that the user supplied one could be much larger than needed
(for instance JFlex could do that under certain circumstances). If you
declare it with the maximum number of characters to be read, you might
save a considerable amount of memory and also one index translation (the
buffer array will be discarded anyway by the garbage collector, but this
might take time, so it's better not to use the memory in the first place
if possible. Also allocating a smaller array might trigger less
garbage collection to get the memory in the first place). The new version
would look like this:
    byte [] buffer = new byte [len];
    int length = stream.read(buffer,0,len);
    for (int i = 0; i<length; i++)
      chars[offset+i] = (char) (0xFF & buffer[i]);
Buffer cache added.
Size of archive went up with these last few changes.
Password Dialog in swing.
added PasswordDialog.
Added quick click lists to navigate between utilities and the
documentation for Password Dialog.
Cache of token count added.  Documentation for returnEmptyTokens also improved.
Token Count in string tokenizer.
email address was incorrect.