2011-02-24 29 views
-1

我有一個聲音文件記錄在我的Java代碼中,我需要一些代碼來刪除它。如何刪除java中的聲音文件?

+1

看看java io api? – codymanix 2011-02-24 13:58:02

+10

「聲音文件」有什麼特別之處?你看過'java.io.File'的javadoc嗎? – Pointy 2011-02-24 13:58:07

+0

你能顯示記錄和保存聲音的代碼嗎? – Ishtar 2011-02-24 14:00:11

回答

3

聲音文件有什麼特別之處?!!!

您可以使用此代碼。

public static void deleteFile(String file){ 
    File myFile = new File(file); 

    if (!myFile.delete()){ 
    System.out.println("Deletion was not sucessful"); 
    }else{ 
     System.out.println("File deleted"); 
    } 
    } 
1

因爲答案是所以明顯(file.delete()),我懷疑你有問題,有其刪除實際上。即,file.delete()已經返回false並且該文件實際上並未從磁盤文件系統中刪除。

在這種情況下,如果仍然在該文件上打開指針,則無法將其刪除。例如,當您的Java代碼中的文件有InputStreamOutputStream時,只要您不在流上調用close(),就無法刪除該文件。

因此,要解決這個問題,你需要確保你在try塊正在使用的流,其中的finally塊上的任何InputStreamOutputStream調用close()

E.g.

File file = new File(name); 
OutputStream output = null; 

try { 
    output = new FileOutputStream(file); 
    // Write to output here ... 

    file.delete(); // Will always fail because output is not closed. 
} finally { 
    if (output != null) try { output.close(); } catch (IOException logOrIgnore) {} 
} 

file.delete(); // Will succeed after close of output.