怎么用文件保存有文字又有数字的swing表格啊,并提供读写操作(语言-java)

就是读写那里一直不成功

img


这个是表格的效果图

img


这是写那里的操作,可不可以帮我看看,这个刚学

该回答引用GPTᴼᴾᴱᴺᴬᴵ
可以使用Java中的CSV(Comma-Separated Values)文件格式来保存 Swing 表格的数据,这种格式可以包含文字和数字,同时也比较容易读写。以下是一个简单的示例代码:

保存数据到 CSV 文件:

import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JTable;
import javax.swing.table.TableModel;

public class TableDataWriter {
    public static void writeTableData(JTable table, String fileName) throws IOException {
        TableModel model = table.getModel();
        FileWriter writer = new FileWriter(fileName);

        // 写入表头
        for (int i = 0; i < model.getColumnCount(); i++) {
            writer.write(model.getColumnName(i) + ",");
        }
        writer.write("\n");

        // 写入数据
        for (int i = 0; i < model.getRowCount(); i++) {
            for (int j = 0; j < model.getColumnCount(); j++) {
                Object data = model.getValueAt(i, j);
                if (data != null) {
                    writer.write(data.toString());
                }
                if (j != model.getColumnCount() - 1) {
                    writer.write(",");
                }
            }
            writer.write("\n");
        }

        writer.close();
    }
}

读取 CSV 文件并载入数据到 Swing 表格:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

public class TableDataReader {
    public static void readTableData(JTable table, String fileName) throws IOException {
        BufferedReader reader = new BufferedReader(new FileReader(fileName));
        String line;

        // 读取表头
        if ((line = reader.readLine()) != null) {
            String[] columnNames = line.split(",");
            DefaultTableModel model = new DefaultTableModel(columnNames, 0);
            table.setModel(model);
        }

        // 读取数据
        while ((line = reader.readLine()) != null) {
            String[] data = line.split(",");
            DefaultTableModel model = (DefaultTableModel) table.getModel();
            model.addRow(data);
        }

        reader.close();
    }
}


使用示例:

JTable table = new JTable();
// ... 添加数据到表格 ...

// 保存表格数据到 CSV 文件
TableDataWriter.writeTableData(table, "data.csv");

// 从 CSV 文件载入数据到表格
TableDataReader.readTableData(table, "data.csv");

注意:以上示例代码仅供参考,实际使用时需要根据具体的需求进行修改和完善。