
import java.awt.BorderLayout; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.util.Vector; import javax.swing.JTable; import javax.swing.JFrame; import javax.swing.JScrollPane; /** * @author dukang * 思路: * 1.构建一个表table(rowData,col);rowData为每一行数据、col为每一列 * 2.如何得到rowData与col? * 3.用Vector来表示存储rowData,col * 4.从文本文件ssq.txt,用FileReader套上BufferedReader来读取 * 5.用while外层循环得到所有行,里面套for循环得到每一行 */ public class Readssq { public static void main(String[] args) throws Exception { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //-----------------------------------------每一列表头 Vector<String> col = new Vector<String>(); col.addElement("红球1"); col.addElement("红球2"); col.addElement("红球3"); col.addElement("红球4"); col.addElement("红球5"); col.addElement("红球6"); Vector<Vector> rowData = new Vector<Vector>();//声明所有行 //----------------------------------------开始读文本文件 FileReader reader = new FileReader("d:\\dukang\\ssq.txt"); BufferedReader br = new BufferedReader(reader); String eachLine = null;//定义每一行 while((eachLine = br.readLine()) != null){//读文件至末尾 //-----split(String):根据给定正则表达式的匹配拆分此字符串。 String[] temp = eachLine.split(" ");//每一行里的空格 //-----声明每一行,必须在这里,外部是不行地。 Vector<String> row = new Vector<String>(); for(int i = 0; i < temp.length; i++){//遍历每一行 row.add(temp[i]);//把每一行都加入row } rowData.add(row);//再把每一个row的数据给rowData } JTable table = new JTable(rowData, col); JScrollPane scrollPane = new JScrollPane(table); frame.add(scrollPane, BorderLayout.CENTER); frame.setSize(300, 150); frame.setVisible(true); } }