繁体   English   中英

创建向量 <Vector<String> &gt;将.txt文件导入JTable

[英]Creating a Vector<Vector<String>> to import .txt file into a JTable

我遇到了从1维矢量“ v”到2维矢量“ myVector”的问题。 如果您能伸出援手并帮助我解决这个问题,将不胜感激。 开放任何建议。

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

public class InsertDataFinal {

public static void main(String args[]) {
    Vector<String> v = new Vector<String>(3);

    Vector<Vector<String>> myVector = new Vector<Vector<String>>();
    int i = 0;
    int j = 0;
    try {

        FileReader fReader = new FileReader("Password.txt");
        BufferedReader inFile = new BufferedReader(fReader);
        String input;
        String[] temp;
        while ((input = inFile.readLine()) != null) {

            temp = input.split(" ");

            for (i = 0; i < temp.length; i++) {

                v.add(temp[i]);
            }

            myVector.add(j, v);
            j++;
        }

    } catch (Exception e) {
        System.out.println("ERROR");
    }

    Vector<String> columnNames = new Vector<String>(3);
    columnNames.addElement("Website");
    columnNames.addElement("Username");
    columnNames.addElement("Password");
    DefaultTableModel model = new DefaultTableModel(myVector, columnNames);
    JTable table = new JTable();
    table.setModel(model);
    JScrollPane scrollpane = new JScrollPane(table);
    JPanel panel = new JPanel();
    panel.add(scrollpane);
    JFrame frame = new JFrame();
    frame.add(panel, "Center");
    frame.pack();
    frame.setVisible(true);
    }
}

您的示例继续扩展Vector<String>的单个实例,名为v 相反,创建一个新实例并将其添加到myVector 同样,限制变量的范围并捕获最具体的异常。

Vector<Vector<String>> myVector = new Vector<Vector<String>>();
try {
    FileReader fReader = new FileReader("temp.txt");
    BufferedReader inFile = new BufferedReader(fReader);
    String input;
    while ((input = inFile.readLine()) != null) {
        String[] temp = input.split(" ");
        Vector<String> v = new Vector<String>(3);
        for (int i = 0; i < temp.length; i++) {
            v.add(temp[i]);
        }
        myVector.add(v);
    }
} catch (IOException e) {
    e.printStackTrace(System.err);
}

暂无
暂无

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

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