毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> net技术 >> 正文

C#两个byte数组合并后,数据丢失

更新时间:2013-5-26:  来源:毕业论文

C#两个byte数组合并后,数据丢失

有byte数组 data1,data2,data3 ,
写该程序的目的是把 data1 和 data2 合并到data3中。
可是合并后data3中只有data1的数据。有哪位大牛帮帮忙!!!
byte[] data3 = new byte[data1.Length + data2.Length];
            Stream s = new MemoryStream();
            s.Write(data1, 0, data1.Length);
            s.Write(data2, 0, data2.Length);
            s.Position = 0;
            int r = s.Read(data3, 0, data3.Length);
    Stream s = new MemoryStream();             s.Write(data1, 0, data1.Length);             s.Write(data2, 0, data2.Length);             byte[] data3 = s.ToArray();写入字节是从流的当前位置开始的,这个方法的第二个参数指定的是数组中作为开始写入位置的第一个字节的偏移量,并不是流的位置。。。并不会覆盖

不知道你data1和data2是如何而来的,如果这两个变量没获取正确,data3就别想正确。
另外既然你是要合并文件,那么就不该这么做,有更好的做法:

C# code?FileStream fs1 = new FileStream("", FileMode.Open); FileStream fs2 = new FileStream("", FileMode.Open); FileStream fs3 = new FileStream("", FileMode.Create); byte[] buffer = new byte[4096]; int count = 0; while ((count = fs1.Read(buffer, 0, 4096)) > 0) {     fs3.Write(buffer, 0, count); } while ((count = fs2.Read(buffer, 0, 4096)) > 0) {     fs3.Write(buffer, 0, count); } fs1.Close(); fs2.Close(); fs3.Close();
将Word文件另存为rtf格式就可以直接合并了,rtf格式是可以任意添加的开放格式,我们的richtextbox控件就是用的那个格式。

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。