beibm
beibm

Reputation: 11

java.io.StreamCorruptedException: invalid type code: F1

When I used ObjectInputStream with IBM JDK7,I got the exception:

java.io.StreamCorruptedException: invalid type code: F1
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1712)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2397)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2277)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2179)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1684)
at java.io.ObjectInputStream.readObjectImpl(ObjectInputStream.java:531)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:466)

But,when I run the code with IBM's JDK6 or oracle's JDK, it's all ok! Where is the problem? some code like:

String str = "";
ObjectInputStream in = null;
String hStr = "0123456789ABCDEF";
ByteArrayOutputStream baos = new ByteArrayOutputStream(str.length() / 2);
for (int i = 0; i < str.length(); i += 2) {
    baos.write((hStr.indexOf(str.charAt(i)) << 4 | hStr.indexOf(str.charAt(i + 1))));
}
byte[] bytes = baos.toByteArray();
in = new ObjectInputStream(new ByteArrayInputStream(bytes));
in.readObject();//this line Throws ”StreamCorruptedException: invalid type code: F1“

Upvotes: 1

Views: 203

Answers (0)

Related Questions