IOUtils下载文件方法
时间: 2023-08-12 15:04:18 浏览: 178
IOUtils 是 Apache Commons IO 库提供的一个工具类,可以用于简化文件操作。它提供了一个方便的方法来下载文件。以下是使用 IOUtils 下载文件的示例代码:
```java
import org.apache.commons.io.IOUtils;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import javax.servlet.http.HttpServletResponse;
public class FileDownloadUtil {
public static void downloadFile(HttpServletResponse response, String filePath, String fileName) throws IOException {
File file = new File(filePath);
if (file.exists()) {
// 设置响应头,告诉浏览器要下载文件
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
// 创建输入流读取文件内容
FileInputStream inStream = new FileInputStream(file);
// 获取输出流
OutputStream outStream = response.getOutputStream();
// 使用 IOUtils 将输入流中的内容复制到输出流中
IOUtils.copy(inStream, outStream);
// 关闭输入流和输出流
inStream.close();
outStream.close();
} else {
// 文件不存在,返回404错误
response.sendError(HttpServletResponse.SC_NOT_FOUND);
}
}
}
```
在这个示例中,你需要将 `filePath` 替换为要下载的文件的实际路径,将 `fileName` 替换为要下载时显示的文件名。`IOUtils.copy()` 方法将输入流中的内容复制到输出流中,从而实现文件的下载。记得导入 Apache Commons IO 的库。
阅读全文