gpt4 book ai didi

java - 如何获取WAR文件的大小?

转载 作者:行者123 更新时间:2023-11-30 09:25:19 27 4
gpt4 key购买 nike

我想获取在我的服务器上运行的 WAR 文件的大小。我试过谷歌搜索如何去做,但我没有任何运气。如果我尝试 File.length(),它会返回 0(不是很有帮助)。

我注意到当我执行 request.getServletContext().getRealPath("/") 时,它返回:

C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\nameofmyapp\

有什么方法可以使用此路径来查找部署的 WAR 文件的大小?谢谢。

最佳答案

WAR 文件只是一个美化的 zip 文件,用于将 webapp 部署到 Tomcat。部署时,Tomcat 将 WAR 文件解压缩到同名目录中(没有 .war 扩展名)。

在您的应用程序中,request.getServletContext().getRealPath("/") 表示解压后的 web 应用程序的根目录路径,而不是 WAR 文件。 (这可能就是您的 File.length 调用返回 0 的原因——the javadoc 表示目录的长度未定义。)要获取 WAR 文件的路径和大小,去掉尾部的斜杠并添加.war 扩展名:

File webappPath = new File(request.getServletContext().getRealPath("/"));
File warFile = new File(webappPath.getParent(), webappPath.getName() + ".war");
int warSize = warFile.length();

关于java - 如何获取WAR文件的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15365708/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com