在我的应用程序中,我正在读取一个XML文件(比如ABC.xml),它位于WebContent / META-INF文件夹中并使用DOM解析器解析它 如下
File xmlFile = new File("WebContent//META-INF//ABC.xml");
parser.parse(new InputSource(new FileReader(xmlFile.getAbsolutePath())));
显示文件未找到异常,当我打印xmlFile.getAbsolutePath()时显示
D:\Softwares\SDE_7\eclipse\WebContent\META-INF\ABC.xml
这是我的日食设置所在的地方
所以我尝试在简单的java程序中使用相同的逻辑并打印它显示的绝对路径 正确的路径(项目文件夹结构)和程序正常
D:\GME_WorkSpace\Practice_1\WebContent\META-INF\sample.xml
为什么会发生冲突?我怎样才能纠正它?
答案 0 :(得分:1)
如果你在谈论WebContent,听起来你已经写了一个Servlet。
在这种情况下,您应该使用ServletContext来查找文件。
getServletContext()。getRealPath(...)将获取Servlet中相对文件名的完整操作系统路径。
getServletContext()可以从任何继承自HttpServlet的类中调用。
答案 1 :(得分:0)
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
URL url = classLoader.getResource("WebContent//META-INF//ABC.xml");
File file = new File(url.toURI());