Use MemoryStream to reverse a file : MemoryStream « File Directory Stream « C# / CSharp Tutorial






using System;
using System.IO;

class Class1
{
    [STAThread]
    static void Main(string[] args)
    {
        FileStream fsSrc = File.OpenRead("s.txt");
        BinaryReader rdr = new BinaryReader(fsSrc);

        FileStream fsDest = File.Open("d.txt", FileMode.Create);

        MemoryStream memStream = new MemoryStream();

        int curChar = 0;

        while ((curChar = rdr.Read()) != -1)
        {
            memStream.WriteByte(Convert.ToByte(curChar));
        }

        for (int i = 0; i < memStream.Length / 2; ++i)
        {
            byte tempTop, tempBottom;
            memStream.Seek(i, SeekOrigin.Begin);
            tempTop = (byte)memStream.ReadByte();

            memStream.Seek(-i - 1, SeekOrigin.End);
            tempBottom = (byte)memStream.ReadByte();

            memStream.Seek(-1, SeekOrigin.Current);
            memStream.WriteByte(tempTop);

            memStream.Seek(i, SeekOrigin.Begin);
            memStream.WriteByte(tempBottom);
        }

        memStream.Seek(0, SeekOrigin.Begin);

        byte[] memBytes = memStream.ToArray();

        BinaryWriter bw = new BinaryWriter(fsDest);
        bw.Write(memBytes);

        bw.Close();
        rdr.Close();
    }
}








15.25.MemoryStream
15.25.1.Demonstrate MemoryStream.
15.25.2.MemoryStream: Write bytes and dump to a file
15.25.3.Save the MemoryStream as a file
15.25.4.Read data in FileStream into MemoryStream
15.25.5.Use MemoryStream to reverse a file