2013-04-22 158 views
1

我需要知道我应该在哪里放置xml文件到Java项目中。我需要访问放置的XML文件并解析它。我曾尝试使用资源文件夹,但它没有为我工作。有人可以建议我有关如何访问放置在JAVA项目中的xml文件的好主意。我正在使用Eclipse IDE。从JAVA项目中读取xml文件

回答

1

你可以使用Maven的结构:项目/ src目录/主/资源

我想这是一个数据的XML文件。如果它是一个配置文件,更好的方法是通过类路径访问它。 这是放置资源的常见位置,但您可以选择自己的目录。如果你有打开文件的问题,这是你的路径不正确。先尝试用绝对路径打开它。类似于d:/workspace/Project/src/main/resources/file.xml。它会起作用。

1

资源文件夹是放置您的xml文件的正确文件夹。如果它没有在该文件夹中找到该文件,那么它可能不在classpath上。所以,把这个文件夹添加到你的项目的类路径中。

转到项目 - >属性 - > Java构建路径 - >源 - >添加文件夹

然后将资源文件夹添加到类路径。这就是所有...你是好去..

+0

我应该在哪里创建资源文件夹。它是否位于java源文件位于或不在src下的包中。 – user1427961 2013-04-22 07:22:02

+0

是你的项目maven项目还是简单的webapp或java项目? – 2013-04-22 07:23:58

+0

Java项目。但你对maven项目意味着什么。 – user1427961 2013-04-22 07:25:21

1

使用如下类 -

this.getClass().getClassLoader().getResourceAsStream("path of file"); 

注:本项目的XML文件结构

+pro 
    +src 
    +resource 
    -test.xml 

例子:

public class ReadFile { 
     public void testReadFile() { 
      InputStream in = this.getClass().getClassLoader() 
      .getResourceAsStream("/Resources/tset.xml"); 
//praparing DOM 
     DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory 
       .newInstance(); 
     DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder(); 
// by sending input stream as input to DOM 
     Document doc = docBuilder.parse(in); 
     } 
     public static void main(String[] args) { 
      ReadFile file = new ReadFile(); 
      file.testReadFile(); 
     } 
    } 
+0

除了一些错别字你的答案帮助了我。 +1 – DerMike 2014-01-03 14:51:26

0

您需要确保Eclipse包含/ resources文件夹到应用程序类路径中。

Run Configurations打开您的启动器,转到Classpath选项卡,如果它不存在 - 添加它。

该文件可以用this.getClass().getClassLoader().getResource*方法读取。