从Eclipse项目中读取文件

时间:2013-11-04 08:55:18

标签: java eclipse io

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

Directory structure

我使用以下代码读取文件并创建一个新的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是我本地系统的。

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

1 个答案:

答案 0 :(得分:1)

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