我是Stackoverflow的新手,所以这里就是。
我目前正致力于一项需要从csv文件中读取并将其置于某种数据集中的作业。
我和一个arraylist一起去了。但我似乎坚持的是,我试图使用我的ReadWriteFile类将csv文件读入arraylist(可行)。但我需要以某种方式访问我的GUI类中的数组,以便用我的数据填充我的JTable。
在查看类似的帮助请求后,我找不到任何成功。
我的ReadWriteFile类的当前代码;
public static void Read() throws IOException {
String lines = "";
String unparsedFile = "";
String dataArray[];
String col[] = { "COUNTRY", "MILITARY", "CIVILIAN", "POWER" };
FileReader fr = new FileReader("C:/Users/Corbin/Desktop/IN610 - Assignment 1/Programming3_WWII_Deaths.csv");
BufferedReader br = new BufferedReader(fr);
while ((lines = br.readLine()) != null) {
unparsedFile = unparsedFile + lines;
}
br.close();
dataArray = unparsedFile.split(",");
for (String item : dataArray) {
System.out.println(item);
}
ArrayList<String> myArrayList = new ArrayList<String>();
for (int i = 0; i < dataArray.length; i++) {
myArrayList.add(dataArray[i]);
}
}
那么我的问题是什么;如何创建一个从数组中返回值的方法,这样我就可以在GUI类中访问该数组并将每个元素添加到JTable中?
谢谢!
答案 0 :(得分:0)
以下是如何在方法中返回数组以及如何在GUI类中使用它的一些简单示例:
public class Main {
public String[] readFromFile (String filePath) {
ArrayList<String> yourList = new ArrayList<String>();
try {
BufferedReader br = new BufferedReader(new FileReader(filePath));
// read file content to yourList
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return yourList.toArray(new String[yourList.size()]);
}
}
GUI类:
public class GUI extends JFrame {
private JTable jTable;
public GUI() {
jTable = new JTable(10, 10);
this.getContentPane().add(jTable);
this.setVisible(true);
this.pack();
}
public void passArrayToTable(Main mainClass) {
String[] array = mainClass.readFromFile("C:\\file.csv");
// for (String s : array) {
// add values to jTable with: jTable.setValueAt(s,row,column);
// }
}
public static void main(String[] args) {
new GUI().passArrayToTable(new Main());
}
}