Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. |
Traducción
Original
|
Cómo: Leer archivos binarios en Visual Basic
El objeto My.Computer.FileSystem proporciona el método ReadAllBytes para leer archivos binarios.
Para leer un archivo binario
Utilice el método ReadAllBytes, que devuelve el contenido de un archivo como una matriz de bytes. En este ejemplo se lee el archivo C:/Documents and Settings/selfportrait.jpg.
Para los archivos binarios grandes, puede utilizar el método Read del objeto FileStream para leer solo una cantidad especificada de contenido del archivo a la vez. A continuación, puede limitar la cantidad de contenido del archivo que se carga en memoria para cada operación de lectura. En el ejemplo de código siguiente se copia un archivo y se permite al llamador especificar la cantidad de contenido del archivo que se lee en memoria por cada operación de lectura.
' 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
Las condiciones siguientes pueden provocar que se produzca una excepción:
-
La ruta de acceso no es válida por una de las razones siguientes: es una cadena de longitud cero, solo contiene un espacio en blanco, contiene caracteres no válidos o es una ruta de acceso de dispositivo (ArgumentException).
-
La ruta de acceso no es válida porque es Nothing (ArgumentNullException).
-
El archivo no existe (FileNotFoundException).
-
El archivo está en uso por otro proceso o hay un error de E/S (IOException).
-
La ruta de acceso supera la longitud máxima definida por el sistema (PathTooLongException).
-
Un nombre de archivo o de directorio de la ruta de acceso contiene un signo de dos puntos (:) o tiene un formato no válido (NotSupportedException).
-
No hay suficiente memoria para escribir la cadena en el búfer (OutOfMemoryException).
-
El usuario no tiene los permisos necesarios para ver la ruta de acceso (SecurityException).
No tome ninguna decisión sobre el contenido del archivo basándose en su nombre. Por ejemplo, es posible que el archivo Form1.vb no sea un archivo de código fuente de Visual Basic.
Compruebe todas las entradas antes de utilizar los datos en la aplicación. Puede que el contenido del archivo no sea el esperado y que los métodos que leen el archivo produzcan un error.