请对第1点详细说明并给出示例代码
时间: 2023-08-06 12:04:19 浏览: 50
使用流式处理是一种逐条读取并输出数据的方法,可以减少一次性将所有数据加载到内存中的问题。在Java中,可以使用流式处理API来实现。下面是一个简单的示例代码:
```java
public void exportData() {
try {
// 创建文件输出流
FileOutputStream fos = new FileOutputStream("data.csv");
// 创建输出流写入器
OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
// 创建CSV格式编写器
CSVWriter csvWriter = new CSVWriter(osw);
// 写入CSV文件头
String[] header = {"id", "name", "age"};
csvWriter.writeNext(header);
// 获取数据库连接
Connection conn = getConnection();
// 创建查询语句
String sql = "SELECT id, name, age FROM user";
PreparedStatement pstmt = conn.prepareStatement(sql);
// 执行查询语句
ResultSet rs = pstmt.executeQuery();
// 逐条读取数据并写入CSV文件
while (rs.next()) {
String id = rs.getString("id");
String name = rs.getString("name");
String age = rs.getString("age");
String[] record = {id, name, age};
csvWriter.writeNext(record);
}
// 关闭资源
rs.close();
pstmt.close();
conn.close();
csvWriter.close();
osw.close();
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
```
在上面的示例代码中,我们使用了CSVWriter来写入CSV格式的文件,通过逐条读取ResultSet中的数据并写入CSV文件,避免一次性将所有数据加载到内存中。同时,还使用了文件输出流和输出流写入器来实现流式处理,减少I/O操作。