2011-05-19 150 views
0

我無法刪除我的文件,我看了這裏,但無法找到答案。 我有權刪除文件時,文件exist.Below是包含一個方法刪除文件無法刪除文件使用file.delete()

public boolean deleteFile(String filePath) 
    { 

      File fileToDelete = new File(filePath); 
      System.out.println("In delete file(): "+fileToDelete.exists()); 
      boolean deleted = fileToDelete.delete(); 
      return deleted; 

    } 

類和我有一個按鈕,有一個動作監聽刪除文件基於一個常量字符串文件路徑。

STFile file = new STFile(); 
System.out.println("Deleting from"+STMain.TITLES_PATH+""+file.deleteFile(STMain.TITLES_PATH)); 


public static final String TITLES_PATH = System.getProperty("user.dir")+"\\titlesPath.txt"; 
    public static final String IMAGES_PATH = System.getProperty("user.dir")+"\\imagesPath.txt"; 
    public static final String SOUNDS_PATH = System.getProperty("user.dir")+"\\soundPath.txt"; 

文件存在和目錄存在,我可以知道是什麼阻止我刪除它們嗎? 是因爲我有一個fileoutputstream?但我有他們關閉,順便說一句qnsTitle,qnsImagePath,qnsSoundPath都是包含字符串的arraylist。

public void writeFiles() 
    { 
     FileOutputStream f_out = null; 
     ObjectOutputStream obj_out = null; 
     try { 
      f_out = new FileOutputStream(STMain.TITLES_PATH); 
      obj_out = new ObjectOutputStream (f_out); 
      obj_out.writeObject(qnsTitle); 
      f_out.close(); 
      f_out = new FileOutputStream(STMain.IMAGES_PATH); 
      obj_out = new ObjectOutputStream (f_out); 
      obj_out.writeObject(qnsImagePath); 
      f_out.close(); 
      f_out = new FileOutputStream(STMain.SOUNDS_PATH); 
      obj_out = new ObjectOutputStream (f_out); 
      obj_out.writeObject(qnsSoundPath); 
      f_out.close(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 
+0

您可能沒有權限修改包含文件的目錄的內容。你有目錄的寫權限嗎?你可以用File類創建目錄對象並檢查isWritable()嗎?請在這裏例外,以便我們找出問題所在。 – 2011-05-19 09:30:06

+0

STMain.TITLESPATH的答案是指它顯示哪條路徑。你能在這裏粘貼路徑嗎? – Ankit 2011-05-19 09:33:50

+0

當我運行該方法時沒有拋出異常,它只是不斷返回false。 – sutoL 2011-05-20 01:02:30

回答

4

在你writeFiles()方法,寫的close()在finally塊,所以你保證,它被執行。

+1

謝謝,除了writeFiles我也有一個readFile方法讀取文件,並在那個方法我沒有關閉它們,這應該是爲什麼我不能夠刪除它們。 – sutoL 2011-05-20 01:54:33