Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'oggetto My.Computer.FileSystem
fornisce il metodo per la ReadAllBytes
lettura da file binari.
Per leggere da un file binario
Usare il
ReadAllBytes
metodo , che restituisce il contenuto di un file come matrice di byte. Questo esempio legge dal fileC:/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))
Per i file binari di grandi dimensioni, è possibile utilizzare il Read metodo dell'oggetto FileStream per leggere dal file solo una quantità specificata alla volta. È quindi possibile limitare la quantità di file caricata in memoria per ogni operazione di lettura. L'esempio di codice seguente copia un file e consente al chiamante di specificare la quantità di file letti in memoria per ogni operazione di lettura.
' 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
Programmazione affidabile
Le condizioni seguenti possono causare la generazione di un'eccezione:
Il percorso non è valido per uno dei motivi seguenti: si tratta di una stringa di lunghezza zero, contiene solo spazi vuoti, contiene caratteri non validi o è un percorso del dispositivo (ArgumentException).
Il percorso non è valido perché è
Nothing
(ArgumentNullException).Il file non esiste (FileNotFoundException).
Il file è in uso da un altro processo o si verifica un errore di I/O (IOException).
Il percorso supera la lunghezza massima definita dal sistema (PathTooLongException).
Un nome di file o directory nel percorso contiene due punti (:) o è in un formato non valido (NotSupportedException).
Memoria insufficiente per scrivere la stringa nel buffer (OutOfMemoryException).
L'utente non dispone delle autorizzazioni necessarie per visualizzare il percorso (SecurityException).
Non prendere decisioni sul contenuto del file in base al nome del file. Ad esempio, il file Form1.vb potrebbe non essere un file di origine di Visual Basic.
Verificare tutti gli input prima di usare i dati nell'applicazione. Il contenuto del file potrebbe non essere quello previsto e i metodi da leggere dal file potrebbero non riuscire.