gpt4 book ai didi

java - 将文本文件加载到 jTable 中

转载 作者:行者123 更新时间:2023-12-01 23:30:18 25 4
gpt4 key购买 nike

我正在使用 Java 为我的硬盘上存储的电影制作一个库。我制作了 1 种方法来保存我在 jTable 中输入的所有内容,并且我在按钮事件(鼠标单击)上调用此方法,它运行良好,我得到了一个不错的文本文件。然后我创建了一种将文本文件加载到表中的方法,在编译时我没有收到任何错误,但是当我运行应用程序并单击按钮加载表时什么也没有发生,我已将打印添加到方法中只是为了查看方法是否运行及其剂量.

这是我将表保存到文本文件的代码(工作方法):

public void saveTable()throws Exception
{
BufferedWriter bfw = new BufferedWriter(new FileWriter("Data.txt"));
for(int i = 0 ; i < jTable2.getColumnCount() ; i++)
{
bfw.write(jTable2.getColumnName(i));
bfw.write("\t");
}

for (int i = 0 ; i < jTable2.getRowCount(); i++)
{
bfw.newLine();
for(int j = 0 ; j < jTable2.getColumnCount();j++)
{
bfw.write((String)(jTable2.getValueAt(i,j)));
bfw.write("\t");;
}
}
bfw.close();
}

这是我的文本文件:

Movies  Map HDD 
Test no 1

这是我的加载方法:

public void loadTable()throws Exception{
DefaultTableModel tm = (DefaultTableModel) jTable2.getModel();
BufferedReader bfw = new BufferedReader(new FileReader("Data.txt"));

for (int i = 0 ; i < jTable2.getRowCount(); i++)
{
tm.addRow(new Object[] { bfw.readLine()});
}
bfw.close();
}

我是否错过理解 BufferReader 内容的某些内容?

最佳答案

您需要将每一行拆分为三个值,然后再将其添加到行中。

tm.addRow( bfw.readLine().split("\t") );

当然,这不会进行任何数据类型转换,但如果您想要的只是一系列字符串,那么就可以了。

可能宁愿执行以下操作:

while( (line = bfw.readLine() ) != null ) {
tm.addRow( line.split("\t") );
}

在 for 循环中,您的表尚未填充,因此可能为零并且什么也不会发生。这会读取行,直到文件数据完成,并将其添加到表中。

关于java - 将文本文件加载到 jTable 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19440778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com