You do it more or less the same way you did in your first post. Only this time, you don't know in advance the size of the arrays, because you're reading from a file. You should probably explicitly state in your code the width of the data (how many fields on a line) in the file.
There's another String.split() method that you can use to ensure you get no more than a specified number of fields from each line. Then your problem is that you don't know in advance how many rows there are. You could try using the JTable(Vector, Vector) constructor - a Vector is a resizable data structure which grows as you add stuff to it. The API docs again have pretty much everything you need, but basically your two vectors are a Vector of rows and a Vector of column headings. Each element in the Vector of rows is itself a Vector of fields, so you'll need to create instances of Vector from your array from String.split() before adding them to the Vector-of-Vectors.