Este ejemplo lee 6 bytes en una matriz de bytes y los escribe en otra matriz de bytes. Realiza una operación XOR con los bytes para que el resultado escrito en el archivo sea el mismo que los valores iniciales originales. El archivo tiene siempre un tamaño de 6 bytes, ya que escribe en la posición 0.
using System;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
byte[] b1 = { 1, 2, 4, 8, 16, 32 };
byte[] b2 = new byte[6];
byte[] b3 = new byte[6];
byte[] b4 = new byte[6];
FileStream f1;
f1 = new FileStream("test.txt", FileMode.Create, FileAccess.Write);
f1.Write(b1, 0, 6);
f1.Close();
f1 = new FileStream("test.txt", FileMode.Open, FileAccess.Read);
f1.Read(b2, 0, 6);
f1.Close();
for (int i = 1; i < b2.Length; i++)
{
b2[i] = (byte)(b2[i] ^ (byte)10);
}
f1 = new FileStream("test.txt", FileMode.Open, FileAccess.Write);
f1.Write(b2, 0, 6);
f1.Close();
f1 = new FileStream("test.txt", FileMode.Open, FileAccess.Read);
f1.Read(b3, 0, 6);
f1.Close();
for (int i = 1; i < b3.Length; i++)
{
b4[i] = (byte)(b3[i] ^ (byte)10);
}
f1 = new FileStream("test.txt", FileMode.Open, FileAccess.Write);
f1.Write(b4, 0, 6);
f1.Close();
}
}
}