2017-09-26 109 views
0

我需要读取jar之外的xml文件。我不想使用相对路径。这是unix盒子上的绝对路径。据我所知,我猜想有两种方法: - 1)更改jar的清单文件并在类路径中添加该位置。在这种情况下,我可以使用getResource()? 2)硬编码getResourceAsStream()中的路径。我的路径是这样的“/usr/local/folder1/folder2/”。我读了我不能使用getResource()来获取classpath之外的任何东西,我需要使用getResourceAsStream()。在java中读取jar外的xml文件

哪种方法是更好的方法?

+1

的可能的复制[阅读属性文件以外的JAR文件(https://stackoverflow.com/questions/34108412/reading-file-right-outside-jar) –

+0

上面的链接不应答具体的问题,我有。谢谢! – user911

回答

1

是的,getResourceAsStreamgetResource都依赖于加载类或引导类的类加载器可见的路径。如果你想使用绝对路径,只需使用FileInputStream

InputStream inputStream = new FileInputStream("/usr/local/folder1/folder2/myxml.xml");