Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
L’objet My.Computer.FileSystem fournit la ReadAllBytes méthode de lecture à partir de fichiers binaires.
Pour lire à partir d’un fichier binaire
Utilisez la
ReadAllBytesméthode, qui retourne le contenu d’un fichier en tant que tableau d’octets. Cet exemple lit le fichierC:/Documents and Settings/selfportrait.jpg.Dim bytes = My.Computer.FileSystem.ReadAllBytes( "C:/Documents and Settings/selfportrait.jpg") PictureBox1.Image = Image.FromStream(New IO.MemoryStream(bytes))Pour les fichiers binaires volumineux, vous pouvez utiliser la Read méthode de l’objet FileStream pour lire à partir du fichier uniquement une quantité spécifiée à la fois. Vous pouvez ensuite limiter la quantité de fichier chargée en mémoire pour chaque opération de lecture. L’exemple de code suivant copie un fichier et permet à l’appelant de spécifier la quantité de fichier lue en mémoire par opération de lecture.
' This method does not trap for exceptions. If an exception is ' encountered opening the file to be copied or writing to the ' destination location, then the exception will be thrown to ' the requestor. Public Sub CopyBinaryFile(ByVal path As String, ByVal copyPath As String, ByVal bufferSize As Integer, ByVal overwrite As Boolean) Dim inputFile = IO.File.Open(path, IO.FileMode.Open) If overwrite AndAlso My.Computer.FileSystem.FileExists(copyPath) Then My.Computer.FileSystem.DeleteFile(copyPath) End If ' Adjust array length for VB array declaration. Dim bytes = New Byte(bufferSize - 1) {} While inputFile.Read(bytes, 0, bufferSize) > 0 My.Computer.FileSystem.WriteAllBytes(copyPath, bytes, True) End While inputFile.Close() End Sub
Programmation robuste
Les conditions suivantes peuvent entraîner la levée d’une exception :
Le chemin d’accès n’est pas valide pour l’une des raisons suivantes : il s’agit d’une chaîne de longueur nulle, il contient uniquement des espaces blancs, il contient des caractères non valides ou il s’agit d’un chemin d’accès d’appareil (ArgumentException).
Le chemin d’accès n’est pas valide, car il est
Nothing(ArgumentNullException).Le fichier n’existe pas (FileNotFoundException).
Le fichier est utilisé par un autre processus ou une erreur d’E/S se produit (IOException).
Le chemin dépasse la longueur maximale définie par le système (PathTooLongException).
Un nom de fichier ou de répertoire dans le chemin contient un signe deux-points (:) ou est dans un format non valide (NotSupportedException).
Il n’y a pas suffisamment de mémoire pour écrire la chaîne dans la mémoire tampon (OutOfMemoryException).
L’utilisateur ne dispose pas des autorisations nécessaires pour afficher le chemin d’accès (SecurityException).
Ne prenez pas de décisions sur le contenu du fichier en fonction du nom du fichier. Par exemple, le fichier Form1.vb peut ne pas être un fichier source Visual Basic.
Vérifiez toutes les entrées avant d’utiliser les données dans votre application. Le contenu du fichier peut ne pas être ce qui est attendu, et les méthodes à lire à partir du fichier peuvent échouer.