读取txt并添加jtable

时间:2017-06-06 08:06:48

标签: java jtable

我是java的新手,我需要创建一个从txt文件中读取文本并将其放入jtable的程序,txt文件中的格式将类似于“b3:42”。我需要阅读这些内容并将b3放在表格的第一列中,将42放在下一列中。你可以帮帮我吗 ?对不起我的英语。

2 个答案:

答案 0 :(得分:0)

您可以参考以下代码。

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import javax.swing.*;    
public class HelloWorld{
    private static final String FILENAME = "input.txt";
     public static void main(String []args){       
        BufferedReader br = null;
        FileReader fr = null;
        try {
            fr = new FileReader(FILENAME);
            br = new BufferedReader(fr);

            String s;
            String[][] data = new String[2][2];

            br = new BufferedReader(new FileReader(FILENAME));
            int i = 0;
            while ((s = br.readLine()) != null) {
                 data[i]= s.split(":");
                i++;
            }

           String column[]={"COL1","COL2"};
            JTable jt=new JTable(data,column);    
        } catch (IOException e) {

            e.printStackTrace();

        } finally {

            try {

                if (br != null)
                    br.close();

                if (fr != null)
                    fr.close();

            } catch (IOException ex) {

                ex.printStackTrace();

            }

        }
     }
}

答案 1 :(得分:0)

一些建议

您可以使用BufferedReader和相关的链接流逐行读取txt文件:

public class TestSO {

    public static void main(String[] args) {


        String line = "";
        try(BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("yourfile.txt")))){
                while ((line = br.readLine()) != null) {

                // Process the line

                }
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

为了将你的行拆分成你需要的部分你必须使用 line.split(“:”)你得到2个令牌,冒号前面的那个和后面的那个。

String tokens[] = line.split(":");

根据JTable文档,你可以创建一个JTable作为 JTable(Object [] [] rowData,Object [] columnNames)

因此,您可以使用上面读取和解析的标记来创建rowData数组。

然后为列名创建数组:

//headers for the table
String[] columns = new String[] {
    "Col1", "Col2"
};

最后,只需创建JTable,将数据和列名称传递给数组:

//create table with data
JTable table = new JTable(rowData, columnNames);