Closed loprx closed 1 year ago
classPathResource.getFile().length()
这种方式获取文件长度是有问题的。
打成jar之后,只能获取流,而不能获取成文件。流的话不能直接获取长度,除非全部读出来。
是的,可不可以做一个兼容呢?我看spring是这样处理的
@Override
public long contentLength() throws IOException {
URL url = getURL();
if (ResourceUtils.isFileURL(url)) {
// Proceed with file system resolution
File file = getFile();
long length = file.length();
if (length == 0L && !file.exists()) {
throw new FileNotFoundException(getDescription() +
" cannot be resolved in the file system for checking its content length");
}
return length;
}
else {
// Try a URL connection content-length header
URLConnection con = url.openConnection();
customizeConnection(con);
return con.getContentLengthLong();
}
}
5.8.21增加size方法,感谢:
哈哈,Thank you.
版本情况
JDK版本: openjdk version "1.8.0_275" hutool版本: 5.8.20
问题描述(包括截图)
使用ClassPathResource加载文件,当打成Jar包发布后,获取文件大小报错。