l0r3nz1
Messages postés218Date d'inscriptionmercredi 20 février 2008StatutMembreDernière intervention17 mars 2012
-
28 mai 2010 à 16:36
l0r3nz1
Messages postés218Date d'inscriptionmercredi 20 février 2008StatutMembreDernière intervention17 mars 2012
-
31 mai 2010 à 09:35
Bonjour à tous,
il y a pas mal de discutions à propos de l'état ouvert ou non des fichiers.
ce qui revient le plus souvent c'est de tester si le fichier est disponible.
mais en vb.net n'y t'il pas déjà une fonction toute faite et en plus optimisée?
voici le ptit bout de code que j'utilise pour l'instant:
Public Function fichier_disponible(ByVal fichier As String) As Boolean
Dim contenu As String
Try
contenu = System.IO.File.ReadAllText(fichier)
Catch ex As Exception
contenu = Nothing
Return False
Exit Function
End Try
contenu = Nothing
Return True
End Function
Public Function fichiers_disponibles(ByVal fichiers As String()) As Boolean
Dim fichier As String
Dim rep As Boolean
rep = True
For Each fichier In fichiers
If Not fichier_disponible(fichier) Then
rep = False
Exit For
End If
Next
Return rep
End Function
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 28 mai 2010 à 18:10
Voila une autre méthode :
Public Function CheckFileIsAviable(ByVal filename As String) As Boolean
Dim Fs As IO.Stream = Nothing
Try
Fs = IO.File.Open(filename, IO.FileMode.Open, IO.FileAccess.ReadWrite)
Return True
Catch ex As Exception
Return False
Finally
If Fs IsNot Nothing Then
Fs.Close()
Fs.Dispose()
End If
End Try
End Function
l'inconvéniant de ta méthode c'est qu'elle charge en mémoire le fichier, si check un fichier iso de 5Go par exemple, ton application risque de freezer un peu...
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
l0r3nz1
Messages postés218Date d'inscriptionmercredi 20 février 2008StatutMembreDernière intervention17 mars 2012 31 mai 2010 à 09:35
cool merci, c'est vrai que c'est plus sage.
j'ai pris l'habitude avec vb.net de charger les données dans une variable pour libérer plus vite le fichier et surtout parce que c'est plus rapide à l'exécution (2 - 300Ko dans ce cas la j'hésite pas) ... mais effectivement il y a des fois ou je me demande à quel moment l'appli va bloquer ou "freezer".