2014-03-28 49 views
1

我在做一個java項目,其中即時通訊從項目中的文件夾中讀取圖像,但我無法將圖像文件寫入同一文件夾中我收到異常,例如資源未找到在Java項目中寫入圖像到文件夾

我可以使用圖像從一個文件夾中的項目,如:

jMenuItem1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imageselection/Images/open.png"))); 

當我嘗試寫圖像到如K相同的文件夾是BufferedImage

ImageIO.write(k, "jpg", new File("D:/pass.jpg")); 

它運作良好,但是當我寫到

ImageIO.write(k, "jpg", new File("/imageselection/Images/open.png")); 

它無法正常工作。

「/ imageselection/Images」是我項目中的一個文件夾。

如何解決?

回答

1
ImageIO.write(k, "jpg", new File("./imageselection/Images/open.png")); 

會工作,你忘了添加'。'

+0

它不工作 – JithPS

+0

加入 「」沒有工作 – JithPS

+0

但它工作時,我編碼爲ImageIO.write(k,「jpg」,新文件(「src/imageselection/Images/open.jpg」)); – JithPS

2

如果使用getResource URL,則URL不一定位於文件系統上。如果您將應用程序編譯爲.jar文件(zip格式),那麼它就是jar zip中的一個文件。因此,對於資源不能寫。

甲feasable溶液是(例如):

  • 製作應用數據的目錄;
  • 試試首先找到那裏的圖像作爲File;
  • 否則將圖像加載爲資源;
  • 寫入應用程序數據dir。

    File appDataDir = new File(System.getProperty("user.home") + "/MyApp"); 
    appDataDir.mkdirs(); 
    
相關問題