1
我在abc.jar的classpath中有一个文件X.json。有一个在abc.jar方法READFILE读取该文件作为如何从ouside jar中读取jar文件中的文件
URL url = Abc.class.getClassLoader().getResource("X.json");
File file = new File(url.toURI());*
其内容是罚款,如果我从玻璃瓶中的IE主要方法范围内的某个文件运行它abc.jar内
但当readFile从其他代码从abc.jar之外调用时,它会失败java.lang.IllegalArgumentException: URI is not hierarchical
如何通过从jar的上下文外调用readFile方法来获取File对象?
你为什么不发布stacktrace? – isnot2bad
文件表示文件系统上的路径。文件夹中的文件不在文件系统中。所以无论你从哪个类执行这个代码,它都没有意义,也不会工作。要读取类路径中的jar文件,使用'Class [Loader] .getResourceAsStream()'。 –
似乎是一样的http://stackoverflow.com/questions/10144210/java-jar-file-use-resource-errors-uri-is-not-hierarchical – jCoder