C#和JAVA跨平台传递zip压缩包
最近有用到一种场景:C#写的客户端要调用JAVA写的WebService,客户端打开一个zip压缩包,通过调用WebService提供的接口,比如unzip(byte[] data),实现解压缩,请问C#端如何传递?
比如:
zip压缩包为: 1.zip
Webservice只提供unzip函数,不知道实现细节。如何从1.zip获得byte[]字节流作为参数赋给unzip()函数?
我用如下代码不行啊,JAVA端无法实现解压缩,函数报错:
FileStream file;
file = File.Open("1.zip", FileMode.Open);
byte[] buffer = new byte[file.Length];
file.Read(buffer, 0, buffer.Length);
file.Close();
//...
//这里调用unzip(buffer)
代码类似上述,问题出在哪里呢?是C#到JAVA的byte[]字节流不同还是压缩与解压缩机制不同?还是什么?跪求大神莅临指导。。。
------解决方案--------------------
这个简单,用ultraedit打开一个zip文件
发送这个文件
在byte[] buffer = new byte[file.Length];下断点,看读到的字节是否和你在ultraedit中的一致。
在java端一样的调试,看接收的文件对不对。