J'utilise le code suivant pour réitérer une collection de fichiers que j'ai besoin de copier d'un dossier à un autre. Cela fonctionne bien quand le fichier source existe, mais quand il n'existe pas, j'obtiensGetting Impossible d'accéder à une erreur de fichier fermé
System.ObjectDisposedException: Impossible d'accéder à un fichier fermé. à System.IO .__ Error.FileNotOpen() à System.IO.FileStream.get_Position()
Qu'est-ce que je manque ici?
For Each itm In listOfFiles
Try
If File.Exists(itm.SourcePath + itm.FileName) Then
Dim cf As New FileStream(itm.SourcePath + itm.FileName, FileMode.Open)
Dim ct As New FileStream(itm.DestinationPath + itm.FileName, FileMode.Create)
Dim len As Long = cf.Length - 1
Dim buffer(1024) As Byte
Dim byteCFead As Integer
While cf.Position < len
byteCFead = (cf.Read(buffer, 0, 1024))
ct.Write(buffer, 0, byteCFead)
fileCopyProgressBar.BeginInvoke(New Action(Sub() fileCopyProgressBar.Value = CInt(cf.Position/len * 100)))
End While
ct.Flush()
ct.Close()
cf.Close()
itm.FileExsits = True
Else
itm.FileExsits = False
End If
Catch ex As Exception
log.Error(ex.Message & " (unc)")
End Try
Next
où lance-t-il? –
C'est l'erreur que j'obtiens sur le serveur qui exécute l'application. System.ObjectDisposedException: Impossible d'accéder à un fichier fermé. à System.IO .__ Error.FileNotOpen() à System.IO.FileStream.get_Position() – MTplus
quel numéro de ligne? –