我可以在java中序列化字节数组吗?

时间:2014-02-20 14:05:03

标签: java serialization

我有一个接收输入流的方法,我需要先解密该数据 序列化该数据。但我的数据没有得到序列化。我的文件是一个哈希文件。 请帮我。我的代码是 -

private byte[] getSerializeEncryptedBytes(InputStream inputStream,String password)
               throws Exception {
byte[] fileBytes = getByteArrayFromInputStream(inputStream);
fileBytes = AESEncrytion.getDecryptedData(fileBytes, password);
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(fileBytes);
ObjectInputStream objectInputStream = objectInputStream = new 
               ObjectInputStream(byteArrayInputStream);
Object dataObject = objectInputStream.readObject();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutput out = new ObjectOutputStream(bos);
out.writeObject(fileBytes);
out.flush();
byte[] serializeByte = bos.toByteArray();
out.close();
Util.writeFileNewWay(new File("soapSerialized.txt"), serializeByte);

这是我的第二种方法 -

public byte[] getByteArrayFromInputStream(InputStream inputStream) throws 
              IOException {
 ByteArrayOutputStream buffer = new ByteArrayOutputStream();
 int nRead;
 byte[] data = new byte[16384];
 while ((nRead = inputStream.read(data, 0, data.length)) != -1) {
buffer.write(data, 0, nRead);
 }
 buffer.flush();
 return buffer.toByteArray();

}

我可以序列化字节数组吗?

1 个答案:

答案 0 :(得分:3)

你的问题的答案:

  

我可以序列化字节数组吗?

实际上是“你不需要这样做”。您的代码显然将字节写入磁盘,然后从磁盘读取字节;一切都透明,你做得很好。

您的代码是否会产生任何错误?