public void GrabData() throws IOException
{
try {
BufferedReader br = new BufferedReader(new FileReader("data/500.txt"));
String line = "";
int lineCounter = 0;
int TokenCounter = 1;
arrayList = new ArrayList < String > ();
while ((line = br.readLine()) != null) {
//lineCounter++;
StringTokenizer tk = new StringTokenizer(line, ",");
System.out.println(line);
while (tk.hasMoreTokens()) {
arrayList.add(tk.nextToken());
System.out.println("check");
TokenCounter++;
if (TokenCounter > 12) {
er = new DataRecord(arrayList);
DR.add(er);
arrayList.clear();
System.out.println("check2");
TokenCounter = 1;
}
}
}
} catch (FileNotFoundException ex) {
Logger.getLogger(Driver.class.getName()).log(Level.SEVERE, null, ex);
}
}
こんにちは、トークナイザーを使用して行の内容を読み取り、配列リストに保存しています。ここでは、GrabData クラスがその役割を果たします。
唯一の問題は、会社名 (各行の 3 列目) が引用符で囲まれ、カンマが含まれていることです。あなたの例のために1行を含めました。トークナイザーはコンマに依存して、行を異なるトークンに分割します。しかし、会社名はそれを捨てると思います。会社の列にコンマがなければ、すべてが正常に機能します。
例:- Essie,Vaill,"Litronic , Industries",14225 Hancock Dr,Anchorage,Anchorage,AK,99515,907-345-0962,907-345-1215,essie@vaill.com,http://www.essievaill .com
何か案は?