As a general comment,
you should be careful with StringTokenizer and comma-separated columns.
Consider the case "a,b,c,,e,f"
"Common sense" says that there are six columns:
"a" "b" "c" "" "e" "f"
StringTokenizer says that there are only five:
"a" "b" "c" "e" "f"
StringTokenizer has the sometimes-irritating habit of lumping all the separators together, so beware!