繁体   English   中英

如何将txt文件导入JTable并根据文件的行数使第一列自动递增

[英]how to import a txt file into a JTable and make the first column auto increment according to the number of lines of the file

我正在做一些 java 编码,我必须将一个文件导入到一个有 4 列的 Jtable 中,而我的文件有 3 列(由空格分隔,我需要每行的第一列自动递增,这是我的代码:

try {
    FileReader  files = new FileReader(file);
    BufferedReader buf = new BufferedReader(files);                
    String line = null; 
    String tokens[] = null;
    while ((line = buf.readLine()) != null) { 
        tokens = line.split("\\p{javaWhitespace}+");
        //System.out.println( Arrays.toString( tokens ));
        model.addRow(tokens);
    } 
}   

这就是我得到的:
图片

这是我的文件:
文件

只需在数据前面添加一个额外的令牌。 这是使用向量而不是数组最简单的方法。 向量中的第一项是您的行索引,下一项是从您的标记数组中填充的。 例如:

try {
    FileReader  files = new FileReader(file);
    BufferedReader buf = new BufferedReader(files);                
    String line = null; 
    String tokens[] = null;
    int count = 0;
    while ((line = buf.readLine()) != null) { 
        tokens = line.split("\\p{javaWhitespace}+");
        Vector<Object> row = new Vector<>();
        row.add(count);
        count++;
        for (String text: tokens) {
            row.add(text);
        }
        model.addRow(row); // add the Vector, not the tokens array
    } 
}

还有其他方法,包括扩展表 model 以便它自动执行此操作,这些可能需要根据您的需要完成 - 例如,如果在运行期间删除或添加一行,则重新编号的行该程序? 如果是这样,逻辑需要表 model 内。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM