Java Filenamnaming如何在Netbeans中运行?

时间:2012-02-27 22:04:01

标签: java netbeans filenames

我是一个像这样的文件夹结构:

src\java\com\company\resources\xmlFile.xml

xml文件位于com.company.resources包中。我正在使用netbeans,所以这里是结构图:

structure

我正在尝试将xml文件的地址作为字符串传递给另一个jar中的静态方法:

public static String createXMLStringFromDocument(String fileName){
    try {
        DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory
                .newInstance();
        InputStream inputStream = new FileInputStream(new File(fileName));
        org.w3c.dom.Document doc = documentBuilderFactory
                .newDocumentBuilder().parse(inputStream);
        StringWriter stw = new StringWriter();
        Transformer serializer = TransformerFactory.newInstance()
                .newTransformer();
        serializer.transform(new DOMSource(doc), new StreamResult(stw));
        return stw.toString();
    } catch (Exception e) {
        return e.toString();
    }
}

应该传递什么?

这在Eclipse中运行的另一个项目中按预期工作,我将xml文件保留在项目的ROOT中。我传入文件名“xmlFile.xml”,它可以工作。但是我似乎无法在netbeans中使用它。我找到了一个找不到我尝试的所有地址的文件:

“src / java / com / company / resources / xmlFile.xml”等。

我在这里缺少什么。

1 个答案:

答案 0 :(得分:4)

由于你的xml在类路径上,你不需要它的完整路径(因为如果文件在.jar文件中,可能很难或不可能获得)。你只需要获得一个流。使用:

 InputStream is = YourClass.getResourceAsStream("/com/company/resources/xmlFile.xml");