2011-01-01 2 views
1
try { 
    final List<String> ar = new ArrayList<String>(); 
    final PRIvariable pri = new PRIvariable(); 

    final BufferedReader reader = new BufferedReader(
     new InputStreamReader(new FileInputStream("C:/cdr2.csv"))); 

    while (reader.ready()) { 
     final String line = reader.readLine(); 
     final String[] values = line.split(","); 
     pri.dateText = values[2] + " " + values[4]; 
     pri.count = pri.count + 1; 
     pri.sum = pri.sum + Integer.parseInt(values[7]); 
     System.out.println(pri.dateText + " " + pri.sum + " " + pri.count); 
     ar.add(pri); 
    } 

    final String[] columnNames = { "Date", "TOTAL", "COUNTS" }; 
    final String[][] cells = new String[ar.size()][3]; 
    for (int i = 0; i < ar.size(); i++) { 
     cells[i][0] = ((PRIvariable) ar.get(i)).dateText; 
     cells[i][1] = "" + ((PRIvariable) ar.get(i)).sum; 
     cells[i][2] = "" + ((PRIvariable) ar.get(i)).count; 
    } 
    table = new JTable(cells, columnNames); 
    table.setSize(400, 400); 
    table.setVisible(true); 
    final JScrollPane js = new JScrollPane(); 
    js.setViewportView(table); 
    js.setSize(400, 400); 
    js.setVisible(true); 
    add(js, java.awt.BorderLayout.CENTER); 

} catch (final Exception e) { 
    System.out.println(e); 
} 

Это мой код. Здесь я хочу прочитать текстовый файл и поместить эти данные в Jtable. Но в этом коде он показывает каждую строку Jtable, заполненную теми же данными, которые содержатся в последней строке arraylist (ar). (я думаю, что у меня есть проблема в моем arraylist). Как я могу это решить ...как добавить данные в ARRAYLIST

+2

С СЧАСТОМ НОВЫЙ ГОД 2011 ............... – Chamal

+0

+1 наконец-то какой-то интересный вопрос! – IAdapter

+0

-1, Закройте загромождать форум. Вы получили тот же самый ответ, когда вы отправили тот же вопрос: http://stackoverflow.com/questions/4562920/add-arraylist-data-to-jtable. Это пустая трата времени для всех, кто прочитал этот вопрос, так как один день назад у вас был ответ. Если вы не поняли ответы, то добавьте комментарий. Не создавайте новую публикацию, сохраняйте всю информацию в одном месте, чтобы все знали, что уже было предложено !!! – camickr

ответ

2

Проблема с переменной pri. Он должен быть создан внутри цикла while.

Как это

String line = null; 
while ((line = reader.readLine()) != null) { 
    PRIvariable pri = new PRIvariable(); 
    String[] values = line.split(","); 
    pri.dateText = values[2] + " " + values[4]; 
    pri.count = pri.count + 1; 
    pri.sum = pri.sum + Integer.parseInt(values[7]); 
    System.out.println(pri.dateText + " " + pri.sum + " " + pri.count); 
    ar.add(pri); 
} 

В коде вашей хотите создать отдельный экземпляр PRIvariable для каждой строки в файле, но вы создаете только один раз экземпляр PRIvariable в начале, то вы всегда с помощью этого экземпляр путем переопределения предыдущего значения.

+0

большое спасибо ................. – Chamal

Смежные вопросы