سلام 😉 در این مطلب کد استفاده از MemoryStream برای reverse کردن فایل در سی شارپ را آماده کردم. انشاالله که این کد سی شارپ براتون مفید باشد.
کد استفاده از MemoryStream برای reverse کردن فایل در سی شارپ :
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);
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);