我试图将一个字节数组写入文件,然后再次读取它。问题是我读取的字节数组与我写的字节数组不同。 以下代码的输出是:
[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);
答案 0 :(得分:2)
数组没有正确的字符串表示形式。要查看内容,请使用以下代码
System.out.println(java.util.Arrays.toString(encryptedKey));
System.out.println(java.util.Arrays.toString(encryptedKey2));