Java 将数据从文本文件导入JTable

Java 将数据从文本文件导入JTable,java,swing,Java,Swing,我已经创建了一个JTable,我想在其中插入文本文件中的数据。我不想创建另一个新的JTable,而是想将数据插入正确的行和列中 我这样做的目的是,我想在退出应用程序之前保存JTable数据,在重新打开应用程序之后,我希望数据在离开时显示出来。在退出之前,我设法将JTable数据导出到文本文件中,但从文本文件导入时,数据不会显示 以下是我导出到文本文件的代码: for循环中的if语句用于检查JTable字段是否为空 public void序列化数据(){ 试一试{ BufferedWriter w

我已经创建了一个JTable,我想在其中插入文本文件中的数据。我不想创建另一个新的JTable,而是想将数据插入正确的行和列中

我这样做的目的是,我想在退出应用程序之前保存JTable数据,在重新打开应用程序之后,我希望数据在离开时显示出来。在退出之前,我设法将JTable数据导出到文本文件中,但从文本文件导入时,数据不会显示

以下是我导出到文本文件的代码:

for循环中的if语句用于检查JTable字段是否为空

public void序列化数据(){
试一试{
BufferedWriter writer=new BufferedWriter(新文件编写器(“C:\\Users\\X\\Documents\\NetBeansProjects\\JavaApplication1\\data.txt”);
对于(int i=1;i
以下是要从文本文件导入的代码:

在导入时,我只想导入文本文件中的数字,否则,我想将字段设置为空

String filepath=“C:\\Users\\X\\Documents\\NetBeansProjects\\JavaApplication1\\data.txt”;
文件文件=新文件(文件路径);
试一试{
BufferedReader reader=新的BufferedReader(新文件读取器(文件));
DefaultTableModel tableModel=(DefaultTableModel)dataTable.getModel();
Object[]lines=reader.lines().toArray();

对于(int i=1;i在更新数据后调用表模型上的fireTableStructureChanged

        if(row[i].equals(" ")) {
            dataTable.setValueAt(null, i, j);
        } else {
            dataTable.setValueAt(Double.parseDouble(row[j]), i, j);
        }
您的基本逻辑是错误的。如果您要导入数据,这意味着您应该从一个“空”模型开始。因此,您需要在文件中解析数据时添加每一行数据

所以逻辑应该是这样的:

if(row[i].equals(" ")) {
    row[i] = null;
} else {
    row[i] = Double.parseDouble(row[i]);
}

tableModel.addRow( row );

为了更快地获得更好的帮助,请添加或.Hard code数据以替换文本文件。你是说当我从文件导入数据时?我尝试了,但数据仍然没有显示,只是我的表的单元格大小变大了。(1-)您不应该从外部调用fireXXX方法。这些方法将由TableModel调用。我尝试过,但不起作用。数据仍然没有显示。