我使用classLoader加载位于/src/XMLS
下的xml文件:
String m_path = "XMLS/file.xml"
ClassLoader cl = getClass.getClassLoader();
file f1 = new file(cl.getResource(m_path).getFile));
在Windows上运行它运行正常但在导出到jar并在Linux上运行后我得到FileNotFoundException
- /XMLS/file.xml
。
我试过这个solutions,我不认为问题出在.jar
文件的读取中。对于我做错了什么其他的想法?
答案 0 :(得分:2)
这不适用于jar文件中的资源,该文件不是文件系统上的文件。相反,您需要使用getResourceAsStream()
,它会返回InputStream
直接使用:
InputStream in = someClass.getClassLoader().getResourceAsStream("/XMLS/file.xml");