Java将DefaultTableModel中的数据写入文本额文件中
时间: 2024-03-08 17:46:41 浏览: 93
可以使用Java中的FileWriter和BufferedWriter来将DefaultTableModel中的数据写入文本文件中。具体实现步骤如下:
1. 创建一个FileWriter对象和一个BufferedWriter对象,用于将数据写入文件中。
```
FileWriter writer = new FileWriter("data.txt");
BufferedWriter bw = new BufferedWriter(writer);
```
2. 获取DefaultTableModel中的数据,并将其逐行写入文件中。
```
for(int i = 0; i < model.getRowCount(); i++) {
for(int j = 0; j < model.getColumnCount(); j++) {
bw.write(model.getValueAt(i, j).toString());
bw.write(" ");
}
bw.newLine();
}
```
3. 关闭BufferedWriter和FileWriter对象,释放资源。
```
bw.close();
writer.close();
```
完整代码示例如下:
```
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.table.DefaultTableModel;
public class WriteTableModelToFile {
public static void main(String[] args) {
DefaultTableModel model = new DefaultTableModel();
// 添加表格数据
model.addColumn("姓名");
model.addColumn("年龄");
model.addRow(new Object[]{"张三", 20});
model.addRow(new Object[]{"李四", 22});
try {
FileWriter writer = new FileWriter("data.txt");
BufferedWriter bw = new BufferedWriter(writer);
for(int i = 0; i < model.getRowCount(); i++) {
for(int j = 0; j < model.getColumnCount(); j++) {
bw.write(model.getValueAt(i, j).toString());
bw.write(" ");
}
bw.newLine();
}
bw.close();
writer.close();
System.out.println("数据写入成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
阅读全文