Manejo de ficheros binarios

Ficheros binarios

Suelen ser ficheros de imágenes, audio, video, etc.

Con un fichero binario podemos leer cualquier tipo de dato:

  1. ReadInt32: lee un int.
  2. ReadSingle: lee un float.
  3. ReadString: lee una cadena.

Lectura de bloques de datos de un fichero binario.

La posición en el fichero

Existe una propiedad CanSeek que nos permite saber si el fichero permite que nos movamos utilizando el método Seek.

Escribir en un fichero binario

Existe la propiedad CanWrite que nos permite saber si se puede escribir en el archivo.

Si queremos escribir datos de distinto tipo al Byte podemos utilizar:

  • Write simplemente, no existe WriteString, WriteByte, WriteInt32, …

 

FileMode:

  1. CreateNew: Crea un archivo nuevo pero si existe genera una excepción IOException.
  2. Create. Crea un archivo nuevo pero si ya existe se sobreescribe.
  3. Open. Abrir un archivo existente. Sino existiera genera una excepción System,IO.FileNotFoundException.
  4. OpenOrCreate. Abrir el archivo si existe, y sino existe se crea.
  5. Truncate. Abre un archivo existente y deja su tamaño a 0.
  6. Append. Abre el archivo y se coloca al final del mismo, sino existe lo crea.

Leer y escribir en un mismo fichero binario.

Utilizando el objeto FileStream, tiene un método llamado «Open» al que podemos indicarle el modo de apertura (FileMode) y el modo de acceso (FileAccess.Read, FileAccess.Write, o FileAccess.ReadWrite).