2015-10-17 62 views
0

首先我按一個標籤的話,我希望能夠將其刪除,無需重新啓動應用程序(因爲它在使用中變)上創建的文件停止使用文件

代碼

Dim UniWinDataPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), "UniWin Activator Data") 
Dim MsgIODat = Path.Combine(UniWinDataPath, "MessageIO.dat") 
If File.Exists(MsgIODat) Then 
    'ERROR HERE 
    File.Delete(MsgIODat) 
    ''''''''''''''''''''' 
    Dim clrdata = MessageBox.Show("Data Cleared.", "", MessageBoxButtons.OK, MessageBoxIcon.Information) 
ElseIf (Not (File.Exists(MsgIODat))) Then 
    Dim nodata = MessageBox.Show("There is no data to clear.", "", MessageBoxButtons.OK, MessageBoxIcon.Information) 
End If 

錯誤:The process cannot access the file '(PATH)' because it is being used by another process.

我已經搜查,並沒有發現任何人在vb.net語言

有沒有辦法用它來刪除文件,以便讓我的應用程序停止談論這個?

+0

分享*製作文件的代碼。您幾乎可以肯定需要在直接或通過使用「使用」塊生成文件的流上使用Dispose()方法。 –

+0

虐待複製並粘貼確切的代碼...再次看到線程 –

+0

我的意思是寫入文件的代碼 - 標籤事件處理程序,而不是獲取文件名的代碼。 –

回答

0

您需要處置由File.Create()方法返回的FileStream。 當您創建文件時,

File.Create("file").Dispose()