2016-10-17 74 views
0

人們會加載圖像:
項目> RES> img.png(路徑= 「RES/img.png」)加載圖像(VS蝕InteliJ)

BufferedImage image = loadImage(path); 

在哪裏的LoadImage是:

protected BufferedImage loadImage(String path) { 
    BufferedImage img = null; 
    try { 
     img = ImageIO.read(new File(path)); 
    } catch(IOException e) { 
     System.err.println("could not load: " + path); 
    } 
    return img; 
} 


有人使用Eclipse使用:
(路徑= 「/img.png」)

BufferedImage image = null; 
    try { 
     image = ImageIO.read(Sprite.class.getResourceAsStream(path)); 
    } catch (IOException e) {  
     e.printStackTrace(); 
    } 

但是在使用的IntelliJ這給:

異常在線程 「Game_main」 java.lang.IllegalArgumentException異常: 輸入== NULL!

爲什麼getResourceAsStream失敗?

回答

0

getResourceAsStream()使用(默認情況下)系統類加載器來查找文件。因此,資源目錄必須位於類路徑中 - 檢查IntelliJ項目是否正確,包括res目錄並將其標記爲資源目錄。