从我写的不同字节读取

时间:2015-10-19 17:10:53

标签: java byte inputstream outputstream

我试图将一个字节数组写入文件,然后再次读取它。问题是我读取的字节数组与我写的字节数组不同。 以下代码的输出是:

  

[B @ 21a06946(写入原始字节数组)

     

[B @ 2fc14f68(字节数组读取)

        byte[] encryptedKey = rsaCipher.encrypt(AESKey, publicKeyPathName, transformation, encoding);
        System.out.println(encryptedKey);
        List<byte[]> list = new ArrayList<byte[]>();
        list.add(encryptedKey);
        ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("encryptedKey"));
        out.writeObject(list);
        out.close();


        ObjectInputStream in = new ObjectInputStream(new FileInputStream("encryptedKey"));
        List<byte[]> byteList = (List<byte[]>) in.readObject();
        in.close();
        byte[] encryptedKey2 = byteList.get(0);

        System.out.println(encryptedKey2);

1 个答案:

答案 0 :(得分:2)

数组没有正确的字符串表示形式。要查看内容,请使用以下代码

System.out.println(java.util.Arrays.toString(encryptedKey));
System.out.println(java.util.Arrays.toString(encryptedKey2));