我試圖在我的runnable .jar文件中包含大量文本文件作爲資源。下面的代碼應打印一個文件的內容:無法爲Jar中的文件創建File對象
URI resourceFile = Driver.class.getResource("/etc/inputfile.txt").toURI();
System.out.println("Opening URI: " + resourceFile.toString());
File infile = new File(resourceFile);
Scanner sc = new Scanner(infile);
while (sc.hasNextLine())
System.out.println(sc.nextLine());
sc.close();
導出爲一個可運行罐子後,我得到了運行時輸出如下:
開幕URI:RSRC:ETC/inputfile.txt
java.lang.IllegalArgumentException異常:URI是不分層 在java.io.File的(File.java:363)
該文件可以沒有任何問題地打印,如果我使用getResourceA。 sStream,但我想用其他原因使用File對象。
我該如何解決這個問題?
感謝,
馬丁
Dupe of http://stackoverflow.com/questions/676097/java-resource-as-file或http://stackoverflow.com/questions/403256/how-do-i-read-a-resource-file -from-a-java-jar-file – 2010-06-19 22:26:28
https://stackoverflow.com/questions/46135427/uri-not-hierarchical-need-to-use-file-class-for-a-method/46135584?noredirect=1 #comment79233689_46135584可能會有所幫助。我有類似的問題。 – shadowforce100 2017-09-09 23:21:52