Hat zwar mit dem Thema nicht unbedingt etwas zu tun, aber der Code ist deutlich verbesserungswürdig! Den kann ich nicht unkommentiert lassen. Wieso liest du eine Binärdatei in ein Array of char? Wieso verwirfst du jegliche Informationen beim Auftreten einer
Exception? Und glaubst du, dass 2 KiB Größe eine sinnvolle Größenordnung für einen Buffer sind, vor allem bei schnellen Datenträgern?
Was heißt es wird nicht kopiert? Was sagt dein Debugger dazu, wenn du durch den Code steppst?
MfG Dalai