无法看到控制台中打印的阵列内容

时间:2018-06-21 21:56:28

标签: java jvm objectoutputstream

public RMI post(PrintStream stream, Object object)
{
try
{
    ByteArrayOutputStream baos = new ByteArrayOutputStream();

    ObjectOutputStream oos = new ObjectOutputStream(baos);

    //

    oos.writeObject(System.rmi);

    oos.flush();

    oos.close();

    //

    stream.println("Class size: " + baos.toByteArray().length);

    stream.println("Class data: " + baos.toByteArray());

    stream.flush();

    stream.close();

    //
}
catch (Exception e)
{
    e.printStackTrace();
}

return this;

}

这将打印[B @ 12843fce,而不是预期的基础字节码结构。 FileOutputStream可以找到相同的操作,但ByteArrayOutputStream不能找到相同的操作。我们真的需要这个来工作。您能发现什么地方出了问题或发生了什么事吗?

1 个答案:

答案 0 :(得分:2)

不要打印对对象的引用,您需要一种将byte[]转换为String的正确方法,而常见的方法是Arrays.toString(baos.toByteArray())