gpt4 book ai didi

java - 有没有办法找出从 ByteArrayInputStream 返回的字节类型?

转载 作者:行者123 更新时间:2023-12-02 06:17:22 25 4
gpt4 key购买 nike

我只是想弄清楚 ByteArrayInputStream 中的字节类型。在一种情况下,我存储一个byte[],在另一种情况下,我存储一个Hashmap。以下代码仅在 byte[] 的情况下在 ObjectInputStream 中失败,而在 Hashmap 时成功。有没有办法找出从 ByteArrayInputStream 返回的字节类型?

Object object = null;
try {
final ByteArrayInputStream byteIn = new ByteArrayInputStream(bytes);
final ObjectInputStream in = new ObjectInputStream(byteIn);
object = in.readObject();
in.close();
byteIn.close();
} catch (ClassNotFoundException | IOException e) {
// Sadly, when ByteArrayInpuStream is instantiated I can not detect whether its an object of bytes or just bytes
// If anyone know of a better way?
if(!e.getMessage().contains("invalid stream header")) {
Logger.error(logStringFormatter(DFLT_WIDTH, "Exception", e.getMessage()));
}
}
return object;

最佳答案

你的意思是你序列化了一个 byte[] 对象,或者你的意思是你在流中有原始字节?对象流以 aced0005 开头,原始字节不会。

关于java - 有没有办法找出从 ByteArrayInputStream 返回的字节类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55859466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com