我想使用類加載器打開文件。不過,我總是得到一個FileNotFoundException。如何使用URL創建新文件?我不想像文件一樣將它作爲流打開。如何使用Class Loader作爲文件加載資源?
URL url = VersionUpdater.class.getResource("xslt/screen/foo");
File f = ...
我想使用類加載器打開文件。不過,我總是得到一個FileNotFoundException。如何使用URL創建新文件?我不想像文件一樣將它作爲流打開。如何使用Class Loader作爲文件加載資源?
URL url = VersionUpdater.class.getResource("xslt/screen/foo");
File f = ...
要將file://...
URL轉換爲java.io.File
,你就必須既url.getPath()
和url.toURI()
一個安全的解決方案相結合:
File f;
try {
f = new File(url.toURI());
} catch(URISyntaxException e) {
f = new File(url.getPath());
}
在此blog post完整的解釋。
我只是在想:如果foo是在一個罐子裏?然後你不能構建一個文件。
如果foo確實位於(本地)類路徑目錄中,它應該可以工作 - 但是,如果有人將其打包在jar中,或者通過網絡加載,它將會失敗。 。