Questo esempio legge 6 byte in un array di byte e lo scrive su un altro array di byte. Esegue un'operazione XOR con i byte in modo che il risultato scritto nel file sia lo stesso dei valori iniziali originali. Il file ha sempre una dimensione di 6 byte, poiché scrive nella posizione 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();
}
}
}