【发布时间】:2014-03-20 20:13:53
【问题描述】:
我通过以下方式找到了我正在运行的课程的课程路径:
MyClass.class.getProtectionDomain().getCodeSource().getLocation().getPath();
为此,我得到了以下路径:
\Users\vanburen\main_dev\vob2\SD\WebContent\WEB-INF\classes
我必须在以下位置读取 XML 文件:
\Users\vanburen\main_dev\vob2\SD\rulesXML\rules.XML
谁能帮助我如何向上移动三个文件夹?我试过使用
getAbsoluteFile().getParentFile()
但这似乎是多余的。有更好的方法吗?
【问题讨论】:
-
要小心执行此操作,因为当您将应用程序部署到 Web 服务器时,该文件几乎肯定不会位于相同的相对路径(我是假设它是给定
WebContent\WEB-INF的网络应用程序)。更好的做法是将其放在WEB-INF下的某个位置并使用ServletContext.getResource访问它,或者将位置设置为可以为每个环境适当配置的参数(servlet 上下文初始化参数或系统属性)。