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