RT请问 如何实现?

解决方案 »

  1.   


    你确定?在C#里 显示 the input stream is not a valid binary format = =
    但我想还有别的办法的
      

  2.   

    两边的流格式根本不相同,所以没有办法使用ObjectOutputStream的你必须使用自己定义的格式才行。
      

  3.   


    也就是说 没办法通过tricks 使用他们提供的fomart而是要自己在两边实现一个de/serialization的process??只有这个办法?
      

  4.   


    //        java 版
     
    public class SerObject {
    public static void main(String[] args) throws Exception {
    //序列
      Student stu = new Student("张三", "男");
      ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(
      new File("student.ini")));
      oos.writeObject(stu);

    //反序列
    ObjectInputStream ois = new ObjectInputStream(new FileInputStream(new File("student.ini")));
    Student stu2 = (Student) ois.readObject() ;
    System.out.println(stu.getSname());
    }}            //  c#版
               
              //序列
              static void BinarySerialize() {
                Student stu = new Student("胡锦涛","男");
                //1.定义文件流
                FileStream fs = new FileStream("E:\\stu.obj",FileMode.Create);
                //2.实例化序列化对象
                BinaryFormatter bf = new BinaryFormatter();
                //3.执行序列化
                bf.Serialize(fs, stu);
                //4.关闭文件流
                fs.Close();
            }        //反序列
            static void BinaryDeserialize() {
                //1.定义文件流
                FileStream fs = new FileStream("E:\\stu.obj",         FileMode.Open,FileAccess.Read);
                //2.实例化序列化对象
                BinaryFormatter bf = new BinaryFormatter();
                //3.执行序列化
                Student stu = (Student)bf.Deserialize(fs);
                //4.关闭文件流
                fs.Close();            Console.WriteLine(stu.Name + "\t" + stu.Age);        }
      

  5.   

    可能是我表述不清 楼上有些朋友误会我的意思我想在C#里反序列化被JAVA序列化的对象(抑或反之)
    但是由于平台不同,格式有差异。已经用wox实现了。
    现在在看wox的源代码,希望能自己写一个简单的 中间件
      

  6.   

    楼主现在实现了吗?我现在也要用C#反序列化被Java序列化的对象,求指导啊!!!感激不尽,这几天被这问题折磨死了!