关于Stream的简单有关问题,下面几个函数,改成C#应该如何写呢?多谢
关于Stream的简单问题,下面几个函数,改成C#应该怎么写呢?谢谢
------解决方案--------------------
byte [] ReadBuffer=new byte[255];
byte [] WriteBuffer = new byte[255];
FileStream fread = new FileStream("d:\\test.txt",FileMode.Open,FileAccess.Read);
fread.Read(ReadBuffer,0,4);
fread.Close();
Array.Copy(ReadBuffer, WriteBuffer,4);
FileStream fwrite = new FileStream("d:\\test.txt", FileMode.Open, FileAccess.Write);
fwrite.Write(WriteBuffer, 0, 4);
fwrite.Flush();
fwrite.Close();
基本操作都在这里了,看着改吧
至于各种类型转byte数组,可以参看BitConverter.GetBytes或者问度娘
- Delphi(Pascal) code
procedure info.LoadFromFile(const FileName: string) var MS:TMemoryStream; begin MS := TMemoryStream.Create; try MS.LoadFromFile(FileName); LoadFromStream(MS, IsShallow); finally MS.Free; end; end; //============================================================================== procedure info.LoadFromStream(Stream: TStream; IsShallow: Boolean = False); begin Stream.ReadBuffer(ID, SizeOf(Smallint)); Stream.ReadBuffer(companyID, SizeOf(Smallint)); Stream.ReadBuffer(Type, SizeOf(Smallint)); Stream.ReadBuffer(UserID, SizeOf(Smallint)); Stream.ReadBuffer(UpdateTime, SizeOf(TDateTime)); end; //============================================================================== procedure info.SaveToFile(const FileName: string); var MS:TMemoryStream; begin MS := TMemoryStream.Create; try SaveToStream(MS, IsShallow); MS.SaveToFile(FileName); finally MS.Free; end; end; //============================================================================== procedure info.SaveToStream(Stream: TStream); begin Stream.WriteBuffer(ID, SizeOf(Smallint)); Stream.WriteBuffer(companyID, SizeOf(Smallint)); Stream.WriteBuffer(Type, SizeOf(Smallint)); Stream.ReadBuffer(ImeMode, SizeOf(Smallint)); Stream.WriteBuffer(UserID, SizeOf(Smallint)); Stream.WriteBuffer(UpdateTime, SizeOf(TDateTime)); end;
------解决方案--------------------
byte [] ReadBuffer=new byte[255];
byte [] WriteBuffer = new byte[255];
FileStream fread = new FileStream("d:\\test.txt",FileMode.Open,FileAccess.Read);
fread.Read(ReadBuffer,0,4);
fread.Close();
Array.Copy(ReadBuffer, WriteBuffer,4);
FileStream fwrite = new FileStream("d:\\test.txt", FileMode.Open, FileAccess.Write);
fwrite.Write(WriteBuffer, 0, 4);
fwrite.Flush();
fwrite.Close();
基本操作都在这里了,看着改吧
至于各种类型转byte数组,可以参看BitConverter.GetBytes或者问度娘