2016-09-23 111 views
0

试图将csv文件导入我的Jtable而不使用CSV阅读器。任何建议如何解决这个问题?将CSV文件导入到JTable中

table = new JTable(); 
     table.setModel(new DefaultTableModel(
      new Object[][] { 
      }, 
      new String[] { 
       "ID", "Country", "Status", "Person" 
      } 
     )); 
     scrollPane.setViewportView(table); 

    } 
+2

看到这个答案,http://stackoverflow.com/questions/5543540/importing-a-csv-file-into-a-java-swing-表 –

+0

想要尝试没有CSV阅读器或任何软件包 –

回答

0

尝试这样:

import java.io.BufferedReader; 
import java.io.File; 
import java.io.FileReader; 
import java.util.ArrayList; 
import java.util.List; 

import javax.swing.JTable; 
import javax.swing.table.DefaultTableModel; 

public class Test { 

    public Test() { 
     try { 

      BufferedReader br = new BufferedReader(new FileReader(new File("C:\\usr\\test.csv"))); 
      List<String[]> elements = new ArrayList<String[]>(); 
      String line = null; 
      while((line = br.readLine())!=null) { 
       String[] splitted = line.split(";"); 
       elements.add(splitted); 
      } 
      br.close(); 

      JTable table = new JTable(); 
      String[] columNames = new String[] { 
        "ID", "Country", "Status", "Person" 
       }; 

      Object[][] content = new Object[elements.size()][4]; 

      for(int i=0; i<elements.size(); i++) { 
       content[i][0] = elements.get(i)[0]; 
       content[i][1] = elements.get(i)[1]; 
       content[i][2] = elements.get(i)[2]; 
       content[i][3] = elements.get(i)[3]; 
      } 

      table.setModel(new DefaultTableModel(content,columNames)); 

      System.out.println(table.getModel().getValueAt(1, 1)); 

     } catch (Exception ex) { 
      ex.printStackTrace(); 
     } 



    } 

    public static void main(String[] args) { 
     new Test(); 
    } 
} 
+0

在这一行上得到一个错误列表 elements = new ArrayList (); –

+0

你可以发布错误吗?你用什么java版本? – freefall

+0

管理修复它:),但由于某种原因得到文件错误java.io.FileNotFoundException:test.csv(系统找不到指定的文件) –