2016-11-17 49 views
-1

因此,我編寫了一個小應用程序,該應用程序使用表示文件路徑的字符串,以便我可以創建文件,然後創建緩衝圖像。我省略不相關的代碼,這個例子:無法在不同的計算機上讀取具有相同URL和相同文件結構的文件

public class MorphImage { 
private final String URL0 = "pic1.jpg"; 

//.... 

URL url = getClass().getResource(URL0); 
File file = new File(url.getPath()); 
BufferedImage img = ImageIO.read(file); 

我的文件結構如下:

projectName 
      src 
       package1 
         MorphImage.java 
         pic1.jpg 

在我的筆記本電腦運行Windows 10,這工作得很好,但是使用上完全相同的項目我Windows 8電腦,我在最後一行獲得IIOException: Can't read file!。兩臺計算機使用相同的Eclipse版本和相同的JDK版本。我不知道這裏要做什麼。我在我的Windows 8機器上嘗試了許多不同的文件路徑,但只是拋出NP,所以路徑是正確的。

編輯:以下解決方案:

URL defaultImage = MorphImage.class.getResource(URL0); 
    File file = new File(defaultImage.toURI()); 
    BufferedImage img = ImageIO.read(file); 

回答

0

試圖讓作爲資源流,與文件路徑如下

的getClass()getClassLoader()的getResourceAsStream( 「包1/pic1.jpg」。 );

+0

這實際上工作,謝謝,將編輯我的文章的解決方案。 – korv

相關問題