2014-11-03 135 views
-1

我需要在java eclipse中使用資源的som幫助。目前我正在進行塔式防禦工作,但是當我導出可運行jar時,我無法加載它。因爲我的地圖創建的級別文件無法作爲getFile加載,所以我如何更改此代碼。Java eclipse資源?

public Level getLevel(String fileName){ 
     try{ 
      file = new FileInputStream("level/" + fileName + ".level"); 
      reader = new InputStreamReader(file); 

      scanner = new Scanner(reader); 

      level.map = new int[22][18]; 

我在devolping新的,我從來沒有真正知道關於資源,我無法找到一個好辦法,現在去改變它,使之與資源的URL類似的東西:)

回答

1

由於工作該Jar在類路徑上,您應該嘗試getResource

URL url = getClass().getResource("level/" + fileName + ".level"); 
InputStream inputStrm = url.openStream(); 
+0

那麼這個抓 回報水平; \t \t} catch(FileNotFoundException e){ \t \t \t e.printStackTrace(); \t \t \t \t \t} 是相當無用的? – Sobs 2014-11-03 10:21:01

+0

@Sobs catch中的代碼取決於我們在'try'中做什麼。相應地改變。 – 2014-11-03 10:23:26

0

使用以下代碼。

ClassLoader classLoader = getClass().getClassLoader(); 
File file = new File(classLoader.getResource("level/" + fileName + ".level").getFile()); 

This tutorial介紹更多