トークナイザーを使用して .txt ファイルの内容をベクターに挿入しようとしています。しかし、特定のファイルは挿入されません。また、後でベクターの内容を後でjtableに渡す必要があります。問題は、.txtの最初の行にnull値があるため、挿入されず、最初の行をスキップして先に進むことです.. null を vector に格納して " " に置き換える方法はありますか?
private void loadSecondPreview() {
String aLine;
recordData = new Vector();
columnNames = new Vector();
try {
FileInputStream fin = new FileInputStream(dataFile);
BufferedReader br = new BufferedReader(new InputStreamReader(fin));
// extract column names
if (delimiter == ",") {
StringTokenizer st1 =
new StringTokenizer(br.readLine(), ",");
while (st1.hasMoreTokens()) {
columnNames.addElement(st1.nextToken());
}
// extract data
while ((aLine = br.readLine()) != null) {
StringTokenizer st2 =
new StringTokenizer(aLine, ",");
while (st2.hasMoreTokens()) {
recordData.addElement(st2.nextToken());
}
}
} else if (delimiter == "\t") {
StringTokenizer st1 =
new StringTokenizer(br.readLine(), "\t");
while (st1.hasMoreTokens()) {
if (st1.equals(null)) {
columnNames.addElement(" ");
} else {
columnNames.addElement(st1.nextToken());
}
}
// extract data
while ((aLine = br.readLine()) != null) {
StringTokenizer st2 =
new StringTokenizer(aLine, "\t");
while (st2.hasMoreTokens()) {
if (st2.equals(null)) {
recordData.addElement(" ");
} else {
recordData.addElement(st2.nextToken());
}
}
}
}
br.close();
System.out.println("Column vector size:" + columnNames.size());
System.out.println("Record vector size:" + recordData.size());
for (int x = 0; x < columnNames.size(); x++) {
System.out.println("Column vector:" + x + " " + columnNames.elementAt(x));
}
for (int x = 0; x < recordData.size(); x++) {
System.out.println("Record vector:" + x + " " + recordData.elementAt(x));
}
O/P: **列ベクトル サイズ:0 レコード ベクトル サイズ:5 レコード ベクトル:0 8 レコード ベクトル:1 8.100 レコード ベクトル:2 8.200 レコード ベクトル:3 9 レコード ベクトル:4 9.8
テスト ファイル レコード:最初の行に 2 つの null 値列があります
8 8.100 8.200 9 9.8