我需要進行一些檢查,看看文件是否存在?
這取決於你正在嘗試做什麼。如果你想覆蓋文件,那麼不。 FileMode.Create
總會覆蓋現有文件,或者如果它不存在,創建它:
Create
指定操作系統應創建一個新的文件。如果文件已經存在,它將被覆蓋。此操作需要FileIOPermissionAccess.Write權限。 System.IO.FileMode.Create相當於請求如果文件不存在,使用CreateNew;否則,使用截斷。如果該文件已經存在但是是隱藏文件,則會引發UnauthorizedAccessException異常。
如果你不想覆蓋現有的文件,那麼你應該檢查它。事情是這樣的:
If Not File.Exists(path) Then
Using fs As New FileStream(path, FileMode.CreateNew), sw As New StreamWriter(fs)
sw.Write("Something")
End Using
End If
您還會注意到,我用CreateNew
代替Create
。這是一項額外的安全檢查,以確保現有文件不會被覆蓋。使用CreateNew
時,如果該文件已存在,則會引發異常。您應該仍然檢查它是否存在,因爲我們不希望例外發生在第一位。