请教高手~JAVA中如果将CSV格式文件写入Jtable中

想将csv格式的文件写进Jtable中,付上我的一段代码~望高手们早日解答File a = new File("xxx.csv");Object[][] stats = getFileStats(a); JTable table = new JTable(t2,name);private static Object[][] getFileStats(File a) { String data; try { BufferedReader br = new BufferedReader(new FileReader(a)); data=br.readLine(); (这里就不会了。。。。主要是补充这个) } catch (FileNotFoundException e) { e.printStackTrace(); }catch(IOException e){ e.printStackTrace(); } return null; }
2026年09月22日 18:04
有2个网友回答
网友(1):

import java.awt.Dimension;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;

import javax.swing.JFrame;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;

public class ReadCsv extends JFrame {

public static void main(String[] args) {
ReadCsv rc = new ReadCsv();
File file = new File("d:\\test.csv");
TableModel playerInfo = getFileStats(file);
JTable jt = new JTable(playerInfo);
jt.setPreferredScrollableViewportSize(new Dimension(400, 80));
rc.getContentPane().add(jt);
rc.setTitle("ReadCsv Table");
rc.setDefaultCloseOperation(EXIT_ON_CLOSE);
rc.setSize(300, 250);
rc.setVisible(true);

}

private static TableModel getFileStats(File a) {
String data;
Object[] object = null;
int columnCount = 0;//文件中最大行的列数
DefaultTableModel dt = new DefaultTableModel();
try {
BufferedReader br = new BufferedReader(new FileReader(a));
//不是文件尾一直读
while ((data = br.readLine()) != null) {
object = data.split(",");
//如果这行的列数大于最大的,那么再增加一列
if (object.length > columnCount) {
for(int i=0;i dt.addColumn("column".concat(String.valueOf(i)));
}
columnCount = object.length;
}
//添加一行
dt.addRow(object);
}
;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return dt;
}
}

网友(2):

import java.io.*;
import javax.swing.*;
import javax.swing.table.*;
public class csvFileRead extends JFrame{
private JTable jTable1;
private JScrollPane jScrollPane;
private DefaultTableModel tableModel;
private JPanel jPanel1;
private String fileName;
public csvFileRead() {
fileName = "yourFileName";
jPanel1 = new JPanel();
jScrollPane = new JScrollPane();
try{
BufferedReader bf = new BufferedReader(new InputStreamReader(new FileInputStream(new File(fileName))));
String line = null;
line = bf.readLine();
String [] head = line.split(",");
Object [][] silencer = {};
//String[] dataType =new String[head.length];
tableModel = new DefaultTableModel(silencer,head);
jTable1 = new JTable(tableModel);
jScrollPane = new JScrollPane(jTable1);
jPanel1.add(jScrollPane);
this.add(jPanel1);
while((line = bf.readLine()) != null){
//System.out.println(line);
tableModel.addRow(line.split(","));
}
}catch(Exception e){
e.printStackTrace();
}
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setBounds(100,100,500,300);
this.setVisible(true);
}
}