文本文件中的内容格式为:
张三|34|男|110
李四|21|男|120
王五|22|女|119现需要将其读入到JTable中.
我的思路是先一行一行读取文件。
用字符串数组分割每一行的内容 TmpStr.Split("\\|+");然后添加到Vector中.Vector small = new Vector ()
读取完一行,再用一个Vector将small加入进去.最后用DefaultTableModel和setModel加载到表格中.以下是部分代码,我读取时始终只能读取到文本文件第一行的数据,不知道为什么,请大家指教.
while(readData!=null){
Str =readData.split("\\|+");
for( i=0;i<Str.length;i++){
smallT.add(Str[i]);
}
bigT.add(smallT);
readData=in.readLine();
}
for(Iterator it=bigT.iterator();it.hasNext();){
System.out.println(bigT.get(0));
it.next();
}
in.close();
fin.close();
dtm.setDataVector(bigT, Title);
table.setModel(dtm);
table.updateUI();
table.repaint();


} catch (Exception ex) {
// TODO 自动生成 catch 块
ex.printStackTrace();
}

解决方案 »

  1.   

    因为你在文本中的内容也有看不见的字符,就是换行和回车 
    修改一下,加上下面这个 split(“/r/n”)
    应该可以吧
      

  2.   

    看看读取文本的代码有错没,
    就是while里面的循环,你看看执行了几次?
      

  3.   

    谢谢大家了,昨天检查了一下
    采用了JTable.addRow来添加数据
    每读取一行就放在一个集合里,然后添加到JTable中。
    反复几次就OK了。