Skip to content

Instantly share code, notes, and snippets.

@Fhernd
Created July 11, 2015 15:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Fhernd/ad4c70fe54606fcd6036 to your computer and use it in GitHub Desktop.
Save Fhernd/ad4c70fe54606fcd6036 to your computer and use it in GitHub Desktop.
Escritura y lectura de un archivo binario en C#.
// OrtizOL - xCSw - http://ortizol.blogspot.com
using System;
using System.IO;
namespace Receta.CSharp.R0508
{
public class LecturaEscrituraArchivoBinario
{
public static void Main()
{
Console.WriteLine(Environment.NewLine);
// Crea objeto `FileStream` para referenciar un archivo binario -ArchivoBinario.bin-:
using (FileStream fs = new FileStream("ArchivoBinario.bin", FileMode.Create))
{
// Escritura sobre el archivo binario `ArchivoBinario.bin` usando un
// objeto de la clase `BinaryWriter`:
using (BinaryWriter bw = new BinaryWriter(fs))
{
// Escritura de datos de naturaleza primitiva:
bw.Write(9517.35M);
bw.Write("OrtizOL");
bw.Write("OrtizOL - xCSw");
bw.Write('!');
}
}
Console.WriteLine("Los datos han sido escritos en el archivo `ArchivoBinario.bin`.");
Console.WriteLine("Presione Enter para iniciar el proceso de lectura.\n");
Console.ReadLine();
// Apertura del archivo `ArchivoBinario.bin` en modo lectura:
using (FileStream fs = new FileStream("ArchivoBinario.bin", FileMode.Open))
{
// Muestra la información tal cual está escrita en el archivo binario:
using (StreamReader sr = new StreamReader(fs))
{
Console.WriteLine(sr.ReadLine());
Console.WriteLine();
// Lectura y conversión de los datos binarios en el tipo de
// correspondiente:
// Posiciona el cursor desde se iniciara la lectura del
// archivo `ArchivoBinario`:
fs.Position = 0;
using (BinaryReader br = new BinaryReader(fs))
{
Console.WriteLine(br.ReadDecimal());
Console.WriteLine(br.ReadString());
Console.WriteLine(br.ReadString());
Console.WriteLine(br.ReadChar());
}
}
}
Console.WriteLine(Environment.NewLine);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment