2011-02-04 139 views
0

我在我的應用程序文件夾中:圖像文件夾內有圖像,我有運行的.jar文件。我需要從圖像文件夾中加載圖片。我有方法從URL負載的圖片,我從本地文件夾加載應用程序中的圖片

String path=System.getProperty("user.dir")+File.separatorChar+"images"+File.separatorChar+"first.jpg"; 
try{ 
URL url=new URL(path); 
} 
catch(Exception exc){ 
} 

嘗試它,但我得到的錯誤java.net.MalformedURLException:沒有協議:/home/images/first.jpg。 要添加什麼像前綴,或者有更好的方式來加載URL圖像?

+0

不要捕獲泛型異常...... – OscarRyz 2011-02-04 18:06:24

+0

..並且當你確實捕獲異常(任何類型)時,不要忽略它們。記錄它們或轉儲堆棧跟蹤。忽略異常就像試圖用一隻胳膊綁在背後進行調試,盲目摺疊。 – 2011-02-04 18:29:07

回答

1

對於本地文件的協議是「文件://」,然而在Windows上,您將需要添加一個額外的「/」

您可以在URL中這樣開始時指定此:

String path="file:///" + System.getProperty("user.dir")+File.separatorChar+"images"+File.separatorChar+"first.jpg"; 
+0

不,協議只有兩個斜線。然而,Unix路徑通常以另一個開頭。在Windows中,您需要在驅動器前添加一個額外的斜線。 – OrangeDog 2011-02-04 17:51:27

+0

@OrangeDog謝謝。我已經更新了你的反饋。 – Aaron 2011-02-05 17:56:14

1

爲什麼你必須從網址加載圖片?爲什麼不從路徑加載它?這是你想要的?

反正你爲什麼不試着這麼做:

String path= ="file://"+System.getProperty("user.dir")+File.separatorChar+"images"+File.separatorChar+"first.jpg"; 
1

理想的情況下,這些圖片應該是罐內,並通過使用getResource()getResourceAsStream()一個類加載器加載。

1

應該String path = file://"+ System.get...etc. ~

但是可能如果您加載它像它會更好:

URL url = this.getClass().getResouce("first.png"); 

你添加圖片到classpath中。

相關問題