hutool文件上传与下载的方法
时间: 2025-06-07 15:07:17 浏览: 22
### Hutool 库中的文件上传和下载方法
#### 文件上传示例
Hutool 提供了便捷的方法来处理文件上传。通过 `ExcelUtil` 和其他工具类可以轻松读取并解析上传的文件。
```java
import cn.hutool.poi.excel.ExcelUtil;
import javax.servlet.http.HttpServletRequest;
public class FileUploadExample {
public void handleFileUpload(HttpServletRequest request) {
try (InputStream inputStream = request.getInputStream()) {
// 创建 ExcelReader 对象用于读取 Excel 文件
ExcelReader reader = ExcelUtil.getReader(inputStream);
// 读取所有数据到列表中
List<List<Object>> data = reader.read();
// 处理数据...
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
```
此代码片段展示了如何利用 Hutool 的 `ExcelUtil` 类从 HTTP 请求流中获取输入流,并将其转换成可操作的数据结构以便进一步处理[^2]。
#### 文件下载示例
对于文件下载功能,可以通过设置响应头以及将字节流传送给客户端实现。下面是一个简单的例子:
```java
import cn.hutool.core.io.FileUtil;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class FileDownloadExample {
private static final String FILE_PATH = "D:\\Biancheng\\IdeaProject\\Spring-Vue-practice\\file";
public void downloadFile(HttpServletResponse response, String fileName) throws IOException {
// 获取要下载的文件对象
File file = FileUtil.file(FILE_PATH, fileName);
if (!file.exists() || !file.isFile()) {
throw new FileNotFoundException("The requested file does not exist.");
}
// 设置响应头部信息
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, StandardCharsets.UTF_8));
// 将文件写入输出流发送给浏览器端
ServletOutputStream outputStream = response.getOutputStream();
FileUtil.writeBytes(FileUtil.readBytes(file), outputStream);
outputStream.flush();
outputStream.close();
}
}
```
这段代码说明了怎样使用 Hutool 中的 `FileUtil` 工具类配合标准 Java IO 流完成文件向用户的传输过程[^1]。
阅读全文
相关推荐




















