public void load() {
		LineReadIterator lri = new LineReadIterator(file.getAbsolutePath());
		
		// If there is no table header, read it
		if (table.getColumnCount() == 0) { 
			readHeader(lri);
		}
		// If there is one, discard the header data
		else { 
			lri.next();
			lri.next();
		}
		
		// Read the contents of the file
		while (lri.hasNext()) { 
			String line = lri.next();
			String[] tokens = tokenize(line);
			for (int i = 0; i < Math.max(tokens.length, table.getColumnCount()); i++) {
				if (i < table.getColumnCount()) {
					if (i < tokens.length) { 
						table.getColumnAt(i).addValue(tokens[i]);
					} 
					else { 
						table.getColumnAt(i).addValue("0");
					}
				}
			}
		}
	}