Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从Eclipse项目中读取文件_Java_Eclipse_Io - Fatal编程技术网

Java 从Eclipse项目中读取文件

Java 从Eclipse项目中读取文件,java,eclipse,io,Java,Eclipse,Io,我需要读取一个XML文件并解析数据。为此,我将文件FoodItemData.xml放在Eclipse项目中,如下图所示 我使用以下代码读取文件并创建一个新的文件对象进行操作 URL url = getClass().getClassLoader().getResource("FoodItemData.xml"); File file = new File(url.getPath()); 调试时,我将url视为/D:/Application/Workspaces/Practice/.metad

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

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

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是本地系统的


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

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

感谢您的澄清!