如何从jar外部读取jar资源中的文件

时间:2013-11-23 21:16:27

标签: java file embedded-resource

我在其路径中的abc.jar中有一个文件X.json。 abc.jar中有一个readFile方法,它将文件读作

URL url = Abc.class.getClassLoader().getResource("X.json");  
File file = new File(url.toURI());*

如果我从jar的上下文中运行它,那就读得很好,即abc.jar中某些文件中的main方法

但是当从其他代码的abc.jar外部调用readFile时,它会失败并显示java.lang.IllegalArgumentException: URI is not hierarchical

如何通过从jar的上下文外部调用方法readFile来获取File对象?

1 个答案:

答案 0 :(得分:2)

到部署时,这些资源将变为。在这种情况下,必须由URL而不是File访问资源。有关标记的info page,请参阅URL