请用stringboot 写一个导出文件功能
时间: 2024-03-16 08:47:58 浏览: 73
好的,下面是一个使用Spring Boot实现的导出文件功能的示例代码:
首先定义一个Controller类,用于处理导出文件的请求:
```java
@RestController
public class ExportController {
@Autowired
private ExportService exportService;
@GetMapping("/export")
public void exportFile(HttpServletResponse response) throws IOException {
exportService.exportFile(response);
}
}
```
在该Controller中,我们注入了一个名为ExportService的服务类,用于实现导出文件的具体逻辑。
接下来,定义ExportService类,实现导出文件的具体逻辑:
```java
@Service
public class ExportService {
public void exportFile(HttpServletResponse response) throws IOException {
String fileName = "export.csv";
response.setContentType("text/csv");
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + fileName + "\"");
OutputStream outputStream = response.getOutputStream();
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(outputStream, StandardCharsets.UTF_8));
// 在这里写入CSV文件内容
writer.write("Hello,World!");
writer.newLine();
writer.flush();
writer.close();
}
}
```
在该服务类中,我们首先设置了导出文件的格式和名称,并将其写入响应头中。然后通过输出流将文件内容写入响应体中,这里我们只是简单地写入了一行“Hello,World!”作为示例。
最后,我们需要在Spring Boot的配置文件中配置端口号和其他相关信息,例如:
```
server.port=8080
```
这样,当我们访问http://localhost:8080/export时,就会触发导出文件的功能,将一个名为export.csv的文件下载到本地。
阅读全文