Java:下载文件/获取文件所在路径
前言
下载文件工具类,提供Java查看下载文件所在目录方法,如何获取resource目录下文件,查看WAR包文件路径
链接
URL链接下载
java:URLConnection后台下载文件&设置代理
本地下载
工具类
public void downloadTemplate(String fileName, HttpServletResponse response) {
if (StringUtils.isEmpty(fileName)) {
fileName = "./template/微信发送模板.xlsx";
}
log.info(fileName);
File file = new File(fileName);
try {
if (!file.exists()) {
response.sendError(404, "File not found!");
return;
}
InputStream fis = new BufferedInputStream(new FileInputStream(fileName));
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
// 清空response
response.reset();
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;filename=" + new String(file.getName().getBytes("UTF-8"), "iso8859-1"));
response.addHeader("Content-Length", "" + file.length());
//编码
response.setCharacterEncoding("UTF-8");
OutputStream out = new BufferedOutputStream(response.getOutputStream());
out.write(buffer);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
获取文件路径
2025-07-18更新
上次更新2021-03-09
使用war包部署,获取本地路径文件,发现获取不到,使用程序获取路径
吉晨*Maven 项目打成 war 包后, resources 文件夹 的实际路径
// D:\IDEASoft\apache-tomcat-8.5.57\bin
log.info(System.getProperty("user.dir"));
//获取当前程序所在路径file:/D:/IDEASoft/apache-tomcat-8.5.57/webapps/zhjjxt_001_war/WEB-INF/classes/
log.info( getClass().getResource("/").toString());
通过此路径可以看到文件在resource路径时,打包在classes路径下,如果在resource/file打包则可能没有,注意打包扫描文件路径!


获取文件
//获取文件流 知道了路径获取此文件的方式则按照正常获取即可
String fileName= "/酒店模板.xlsx";
InputStream fis = getClass().getResourceAsStream(fileName);
if (fis==null) {
return ERROR;
}
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
//输出
ByteArrayOutputStream out = new ByteArrayOutputStream();
out.write(buffer);
out.flush();
out.close();

浙公网安备 33010602011771号