این تابع می تونه این کار را انجام بده فقط لازمه سایز بافر را تعیین کنید یعنی حافظه موقتی که برای خواندن و نوشتن در اختیار دارید
void ReadWrite1(int BufferSize, string inpuFile, string ouputFile)
{
byte[] buffer = new byte[BufferSize];
Stream fin = File.OpenRead(inpuFile);
Stream fout = File.OpenWrite(ouputFile);
int rdsiz = (int)fin.Length - ((int)fin.Length / BufferSize) * BufferSize;
for (int i = (int)fin.Length/BufferSize; i >= 0 ; i--)
{
fin.Seek(i * BufferSize,0);
fin.Read(buffer, 0, rdsiz);
Array.Reverse(buffer, 0 , rdsiz);
fout.Write(buffer, 0, rdsiz);
rdsiz = BufferSize;
}
fin.Close();
fout.Close();
}