javaswing解析csv
时间: 2023-08-02 22:06:28 浏览: 144
要解析CSV文件,可以使用Java内置的CSV库或第三方库如Apache Commons CSV。在Java Swing中,可以将CSV解析后的数据显示在表格中。
以下是使用Java内置CSV库的示例代码:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class CsvParser {
public static void main(String[] args) {
String csvFile = "path/to/csvfile.csv";
String line = "";
String csvSplitBy = ",";
List<String[]> data = new ArrayList<>();
try (BufferedReader br = new BufferedReader(new FileReader(csvFile))) {
while ((line = br.readLine()) != null) {
String[] row = line.split(csvSplitBy);
data.add(row);
}
} catch (IOException e) {
e.printStackTrace();
}
// Display data in a Swing table
String[] columns = data.get(0);
Object[][] tableData = new Object[data.size()-1][columns.length];
for (int i = 1; i < data.size(); i++) {
String[] rowData = data.get(i);
for (int j = 0; j < rowData.length; j++) {
tableData[i-1][j] = rowData[j];
}
}
JTable table = new JTable(tableData, columns);
JFrame frame = new JFrame();
frame.add(new JScrollPane(table));
frame.pack();
frame.setVisible(true);
}
}
```
这个示例代码中,我们使用了`BufferedReader`读取CSV文件,并使用Java内置的`String.split()`方法将每行数据分割成字符串数组。我们将这些数组存储到一个列表中,然后将它们转换为二维数组以用于在Swing表格中显示。
注意,在这个示例中,我们使用了第一行作为表格的列名。如果你的CSV文件中没有列名,则需要手动指定列名。
阅读全文