如何将所有JTable行转换为字符串数组?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将所有JTable行转换为字符串数组?相关的知识,希望对你有一定的参考价值。
所以我的程序中有一个有4列的JTable
ID(int) - 名称(字符串) - 数量(int) - 用法(int)
每次填充JTable时,它都有不同的数据量。我想要做的是从表中获取所有数据(IE X行数可以说5)并将所有数据保存到字符串数组中;或者如果你有更好的方法。
最终我想获取表数据并将其保存到文本文件中。我已经查看了其他SOF问题并看到了一个对象方法,但我不确定那是否正在寻找。
想法?
编辑:当前代码(工作,但似乎很脏;是否正确?)
String[][] tableString = new String[table_Drops.getRowCount()][table_Drops.getColumnCount()];
for (int i = 0; i < table_Drops.getRowCount(); i++) {
tableString[i][0] = String.valueOf(table_Drops.getValueAt(i, 0));
tableString[i][1] = String.valueOf(table_Drops.getValueAt(i, 2));
tableString[i][2] = String.valueOf(table_Drops.getValueAt(i, 3));
tableString[i][3] = String.valueOf(table_Drops.getValueAt(i, 4));
}
答案
你的代码应该有用,唯一不洁的部分是你访问JTable
时的神奇数字。您可以使用嵌套循环。
使用File
将数据写入FileWriter
是直截了当的:
private static void writeTableDataByRowAmount(JTable table, int rows) throws IOException
{
String pathToFile = "C:\Users\bob\Desktop\file.txt";
String text = "";
for(int i=0 ; i<rows ; i++)
{
for(int j=0 ; j<table.getColumnCount() ; j++)
{
text += table.getValueAt(i, j);
text += " ";
}
}
BufferedWriter writer = new BufferedWriter(new FileWriter(pathToFile));
writer.write(text);
writer.close();
}
以上是关于如何将所有JTable行转换为字符串数组?的主要内容,如果未能解决你的问题,请参考以下文章