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);
}
}
Здравствуйте, я использую токенизатор, чтобы прочитать содержимое строки и сохранить ее в araylist. Здесь класс GrabData выполняет эту работу.используя токенизатор для чтения строки
Единственная проблема заключается в том, что название компании (которая является третьим столбцом в каждой строке) находится в кавычках и содержит запятую. Я включил одну строку для вашего примера. Знаменатель зависит от запятой, чтобы разделить линию на разные маркеры. Но название компании выбрасывает это, я думаю. Если бы не запятая в колонке компании, все будет как обычно.
Пример: - Essie, Vaill, "Litronic, Industries", 14225 Hancock Dr, Anchorage, Анкоридж, Аляска, 99515,907-345-0962,907-345-1215, Essie @ vaill.com, HTTP: //www.essievaill.com
Любые идеи?
его намного проще с помощью split() –