Wie kann man in .NET prüfen, ob eine Datei gesperrt ist?
folgendes habe ich gefunden:
Code:
Public Function FileInUse(ByVal sFile As String) As Boolean
' Prüft, ob die angegeben Datei aktuell durch eine
' andere Anwendung in Benutzung ist
Dim bInUse As Boolean = False
If FileExists(sFile) Then
Try
' Versuch, Datei EXKLUSIV zu öffnen
Dim F As Short = FreeFile()
FileOpen(F, sFile, OpenMode.Binary, OpenAccess.ReadWrite, OpenShare.LockReadWrite)
FileClose(F)
Catch
' Bei Fehler ist die Datei in Benutzung
bInUse = True
End Try
End If
' Rückgabewert
Return (bInUse)
End Function
Public Function FileExists(ByVal sFile As String) As Boolean
' Prüft, ob die angegeben Datei existiert
Return (System.IO.File.Exists(sFile))
End Function
jedoch find ich das blöd, da jedesmal ein exclusiver zugriff auf die datei gemacht wird. und das mit der
exception gefällt mir auch nicht.
was kann man sonst noch machen?