VB NET Controllare se il file usato da un altro processo
Tempo di lettura: min.
VB .NET Controllare se il file è usato da un altro processo
In alcuni casi è necessario dover controllare se un file è utilizzato da un altro processo prima di poterlo copiare oppure spostare.
Per poter effettuare questo controllo proviamo ad aprire il file e verifichiamo se si genera una eccezione, di seguito è possibile vedere un esempio di codice
Protected Function FileNotUsed(ByVal sPathFile As String) As Boolean
Dim bRet As Boolean = False
Try
Dim bNotUsed As Boolean = False
Dim dtStart As DateTime = DateTime.Now
Dim fsFile As IO.FileStream = Nothing
While Not bNotUsed
Try
fsFile = IO.File.Open(sPathFile, IO.FileMode.Open, IO.FileAccess.Read, IO.FileShare.None)
bNotUsed = True
Catch ex As Exception
Finally
If Not IsNothing(fsFile) Then fsFile.Close()
If Not IsNothing(fsFile) Then fsFile.Dispose()
fsFile = Nothing
End Try
Dim tsDiff As TimeSpan = dtStart - DateTime.Now
If tsDiff.TotalMinutes > 1 Then Throw New Exception("File utilizzato da un altro processo")
Threading.Thread.Sleep(200)
End While
bRet = True
Catch ex As Exception
End Try
Return bRet
End Function
All’interno di questo codice viene controllato anche per un certo periodo (1 minuto) se il file viene rilassciato dal processo.
Il controllo se il file viene utilizzato da un altro processo viene effettuato cercando di leggere lo stream del file , operazione che genera una eccezione nel caso questo sia utilizzato da un altro processo
Aiuta MrPaloma.com a crescere, utilizza uno dei seguenti link per iscriverti a qualche sito così che noi possiamo ricevere un omaggio.
Ricordiamo che in qualità di Affiliato Amazon riceviamo un guadagno dagli acquisti idonei.
In alcuni casi è necessario dover controllare se un file è utilizzato da un altro processo prima di poterlo copiare oppure spostare.
Per poter effettuare questo controllo proviamo ad aprire il file e verifichiamo se si genera una eccezione, di seguito è possibile vedere un esempio di codice
Protected Function FileNotUsed(ByVal sPathFile As String) As Boolean
Dim bRet As Boolean = False
Try
Dim bNotUsed As Boolean = False
Dim dtStart As DateTime = DateTime.Now
Dim fsFile As IO.FileStream = Nothing
While Not bNotUsed
Try
fsFile = IO.File.Open(sPathFile, IO.FileMode.Open, IO.FileAccess.Read, IO.FileShare.None)
bNotUsed = True
Catch ex As Exception
Finally
If Not IsNothing(fsFile) Then fsFile.Close()
If Not IsNothing(fsFile) Then fsFile.Dispose()
fsFile = Nothing
End Try
Dim tsDiff As TimeSpan = dtStart - DateTime.Now
If tsDiff.TotalMinutes > 1 Then Throw New Exception("File utilizzato da un altro processo")
Threading.Thread.Sleep(200)
End While
bRet = True
Catch ex As Exception
End Try
Return bRet
End Function
All’interno di questo codice viene controllato anche per un certo periodo (1 minuto) se il file viene rilassciato dal processo.
Il controllo se il file viene utilizzato da un altro processo viene effettuato cercando di leggere lo stream del file , operazione che genera una eccezione nel caso questo sia utilizzato da un altro processo
Salsomaggiore Terme (Programmazione) -
17/10/2012 - VB NET Controllare se il file usato da un altro processo
Written by Mokik
Written by Mokik
Link referral
Amazon Sostieni MrPaloma facendo acquisti su Amazon partendo da questo link amazon.it.
Plutus Ricevi uno sconto del 100% in PLU su tutti i vantaggi basati su abbonamento. plutus.it.
Ricordiamo che in qualità di Affiliato Amazon riceviamo un guadagno dagli acquisti idonei.