解决方案 »

  1.   

            HashMap<String, String> map=new HashMap<String,String>();
            map.put("name", "kwj");
            ByteArrayOutputStream bout = new ByteArrayOutputStream();
            ObjectOutputStream oout = new ObjectOutputStream(bout);
            oout.writeObject(map);
            oout.flush();
            
            ByteArrayInputStream bin = new ByteArrayInputStream(bout.toByteArray());
            System.out.println(bin.available());
            byte[] b = new byte[bin.available()];
            bin.read(b);
            HashMap<String, String> m1 = (HashMap<String, String>)(new ObjectInputStream(new ByteArrayInputStream(b)).readObject());
            System.out.println(m1.get("name"));
      

  2.   

    // 也可以
    //        String str=baos.toString("GBK");
    //        byte[] byte_array=str.getBytes("GBK");
            byte[] byte_array = baos.toByteArray();
      

  3.   

    1楼那个是对的,但是
    // 也可以
    //        String str=baos.toString("GBK");
    //        byte[] byte_array=str.getBytes("GBK");
            byte[] byte_array = baos.toByteArray();
    这个用这个运行的时候就会出错
    Exception in thread "main" java.io.EOFException
    at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2325)
    at java.io.ObjectInputStream$BlockDataInputStream.readUTFBody(ObjectInputStream.java:3063)
    at java.io.ObjectInputStream$BlockDataInputStream.readUTF(ObjectInputStream.java:2864)
    at java.io.ObjectInputStream.readUTF(ObjectInputStream.java:1072)
    at java.io.ObjectStreamClass.readNonProxy(ObjectStreamClass.java:704)
    at java.io.ObjectInputStream.readClassDescriptor(ObjectInputStream.java:830)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1601)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    at udpchat.Test.main(Test.java:23)
      

  4.   

    bout.toByteArray()这个得到的字节数组和 
    String str=baos.toString("GBK");
    //        byte[] byte_array=str.getBytes("GBK");
            byte[] byte_array = baos.toByteArray();
    这个得到的不一样