0

我需要读取一个 XML 文件并解析数据。为此,我已将文件 FoodItemData.xml 放置在 Eclipse 项目中,如下图所示。

目录结构

我使用以下代码读取文件并创建一个新的 File 对象进行操作。

URL url = getClass().getClassLoader().getResource("FoodItemData.xml");
File file = new File(url.getPath());

当我调试时,我看到url/D:/Application/Workspaces/Practice/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/CreationalPatterns/WEB-INF/classes/FoodItemData.xml

如果我将此项目作为 WAR 文件导入另一台计算机,我需要知道此代码是否会失败。也就是说,如果文件是在另一台计算机上读取的,因为我看到的 URL 是我本地系统的。

如果它失败了,我该如何纠正它?

4

1 回答 1

1

该代码不会失败,因为您没有硬编码文件的路径。由于您使用类加载器来查找文件,因此它最终会在应用程序的类目录中查找文件。将根据 Web 服务器根上下文获取基本路径。如果 FoodItemData.xml 存在于您的 WEB-INF/classes 目录中,那么无论您使用哪台机器执行代码,您都应该能够获取它。

于 2013-11-04T08:57:31.320 回答