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