现在的位置: 首页 > 综合 > 正文

System.IO.MemoryStream的stream.Position = 0

2013年08月23日 ⁄ 综合 ⁄ 共 1406字 ⁄ 字号 评论关闭

//怎么读也读不出来的代码

 public override object Execute(object parameter)
        {
            using (System.IO.MemoryStream stream = parameter as System.IO.MemoryStream)
            {
                using (System.IO.BinaryWriter writer = new System.IO.BinaryWriter(System.IO.File.OpenWrite(File)))
                {
                    byte[] BUFFER = new byte[stream.Length];
                    stream.Read(BUFFER, 0, (int)stream.Length);
                    stream.Flush();
                    writer.Write(BUFFER, 0, (int)stream.Length);
                    writer.Flush();
                    stream.Close();
                    writer.Close();                    
                }
            }
            return null;
        }

//运行正常的代码

 public override object Execute(object parameter)
        {
            using (System.IO.MemoryStream stream = parameter as System.IO.MemoryStream)
            {
                using (System.IO.BinaryWriter writer = new System.IO.BinaryWriter(System.IO.File.OpenWrite(File)))
                {
                    stream.Position = 0;
                    byte[] BUFFER = new byte[stream.Length];
                    stream.Read(BUFFER, 0, (int)stream.Length);
                    stream.Flush();
                    writer.Write(BUFFER, 0, (int)stream.Length);
                    writer.Flush();
                    stream.Close();
                    writer.Close();                    
                }
            }
            return null;
        }

//stream.Position = 0;耽误了我的4个小时

抱歉!评论已关闭.