2011-10-03 79 views
0

我使用fileconnection獲取縮略圖圖像。FileIOException:黑莓文件已存在錯誤

我使用線程構造函數獲取圖像。我通過網址並獲取圖像。

如果兩個圖像的URL一樣,我得到異常 「FileIOException:文件已存在」

我的代碼是在這裏,

FileConnection fConn = null; 
try 
{ 
     String fileString = MD5.encodeStringMD5(url); 
     fConn = (FileConnection) Connector.open(fileTempPath+fileString+".png"); 
     if(!fConn.exists()) 
     { 
       fConn.create(); 
       GetImageFromURL(url,fConn,id); 
     } 
     else 
     { 
       GetImageFromFolder(fConn, id); 
     } 
     fConn.close(); 
} 
catch (Exception e) 
{ 
     System.out.println("------"+e); 
} 

如果URL是不同的。沒有問題發生。但是如果兩個或三個url相同,只有一個圖像僅存儲並加載在屏幕上。其他網址不顯示。

存儲在設備存儲器中後,其加載所有圖像。

異常拋出此行 - 「fConn.create();」

回答

1

在創建新文件之前,嘗試打開具有相同名稱/路徑的文件。如果它已經存在刪除它。

+0

嗨。我檢查文件連接if(!fConn.exists()) {} – RVG

+0

使用System.out.println和/或EventLogger類記錄您用於打開/檢查文件存在的完整路徑。並使用此信息手動檢查文件存在。當你調用!fConn.exist()或不。 – 2011-10-03 09:11:49

+0

我創建一個線程類併爲該線程類創建五個對象。我通過網址。當一個fconn創建並準備寫入它時,同時第二個對象在線程中調用,如果fcon相同,則發生錯誤。 – RVG

1

如果文件已經存在那麼這樣做:

if(!fConn.exists()) 
    { 
      fConn.create(); 
      GetImageFromURL(url,fConn,id); 
    } 
    else 
    { 
      fConn.truncate();//it removes the data in that file; 
      GetImageFromFolder(url,fConn, id); 
    }