2011-01-01 25 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); 
} 

Dies ist mein Code. Hier möchte ich Textdatei lesen und diese Daten zu Jtable bringen. Aber in diesem Code zeigt es jede Zeile der Jtable gefüllt mit den gleichen Daten, die in arraylist (ar) letzte Zeile enthalten. (Ich denke, es gibt ein Problem in meiner Arraylist). Wie kann ich das lösen ......So fügen Sie Daten zu ARRAYLIST hinzu

+2

FROHES NEUES JAHR 2011 ............... – Chamal

+0

+1 endlich einige interessante Frage! – IAdapter

+0

-1, Beenden Sie das Forum überladen. Sie haben gestern dieselbe Antwort erhalten, als Sie dieselbe Frage gestellt haben: http://stackoverflow.com/questions/4562920/add-arraylist-data-to-jtable. Das ist Zeitverschwendung für jeden, der diese Frage gelesen hat, seit Sie die Antwort schon vor einem Tag hatten. Wenn Sie die Antworten nicht verstanden haben, fügen Sie einen Kommentar hinzu. Erstellen Sie keinen neuen Beitrag, halten Sie alle Informationen an einem Ort, damit jeder weiß, was bereits vorgeschlagen wurde !!! – camickr

Antwort

2

Das Problem ist mit der Variablen pri. Es muss innerhalb der while-Schleife erstellt werden.

Gefällt Ihnen dieses

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); 
} 

In Ihrem Code Ihren wollen eine separate Instanz von PRIvariable für jede Zeile in der Datei erstellen, aber Sie erstellen Sie nur einmal Instanz PRIvariable am Anfang dann verwenden immer, dass Instanz durch Überschreiben des vorherigen Werts.

+0

vielen Dank ................. – Chamal

Verwandte Themen