当遇到`java.io.StreamCorruptedException: invalid typecode:00`错误时,通常是由于MySQL中的表结构与项目中的定义不符。解决方法包括清空表内容并修改表结构以避免后期出现类似错误。确保在修改表结构时不丢失数据,并避免因未清除数据导致的结构回滚问题。
摘要生成于
,由 DeepSeek-R1 满血版支持,
首先,我们应该把表中的所有内容清空删除掉,然后我们再进行对应的修改。也就有这样才能在后期不会出现这个错误,让我们免除死盯着着没有报红的代码的痛苦。
如果不清空删除表中所有记录的话,那么你会在项目途中或项目后期发现,你所修改的表结构或字段名会自动变回去第一次所创建的那种结构或字段名,然后你会再次发现你的项目运行中控制台会出现此图中的报错。
本人之前问过老师MySQL中表结构和字段名会怎么会自动变成第一次创建的结构的问题,但之前没注意,也认为这个也没啥的,反正也不报错,也就太关注这个问题, 但它就是不给面儿啊,到后期想登录进去看看的时候就是报错啊,所以我就很痛苦。所以,我就把我解决这个的方法和见解分享给大家,如果有误或我对这个问题以偏概全的话还望大家指正。
升级完之后,编译项目出错,日志如下:
13998 2022-02-14 15
:
30
:
52,108 [ 803961] INFO -
.
project
.
GradleProjectResolver - Gradle project resolve error
13999 org
.
gradle
.
tooling
.
GradleConnecti
该
问题
的出现在使用Netty传输过程中报错。
原因:传过来的serialVers
io
nUID 和本地的不一致。
local class incompatible
:
stream classdesc serialVers
io
nUID = -6743567631108323096, local class serialVers
io
nUID = -3998150864330771094
解决
方法:
为所
.
.
.
已有class student implements Serializable{ private static final long serialVers
io
nUID=1L; String name; String gender; String major; String clas; student(String name,String gender,String major,String clas){ this
.
name=name;this
.
gender=gender;this
.
major=major;this
.
clas=clas; }; public String toString() { return (name+"/"+gender+"/"+major+"/"+clas); } } ,代码 ObjectInputStream ois=new ObjectInputStream(new FileInputStream("D
:
\\studentdatabase
.
dat")); ois
.
available(); ois
.
close();运行时报错Except
io
n in thread "main"
java
.
io
.
StreamCorruptedException
:
invalid
type
code
:
AC at
java
.
base/
java
.
io
.
ObjectInputStream$BlockDataInputStream
.
readBlockHeader(ObjectInputStream
.
java
:
3150) at
java
.
base/
java
.
io
.
ObjectInputStream$BlockDataInputStream
.
available(ObjectInputStream
.
java
:
3296) at
java
.
base/
java
.
io
.
ObjectInputStream
.
available(ObjectInputStream
.
java
:
1063) at
Java
Exam/JE
.
Exam01
.
main(Exam01
.
java
:
31) ,请问我该如何
解决
这个
问题
?
问题
场景:我尝试安装了IntelliJ IDEA ,在我设置好sdk的时候,我新建了android项目,运行是正常的。当我把语言改为kotlin的时候,新建项目,报了错误,
invalid
type
code
:
00
并且导致我的程序无法运行。
解决
方案:File -> Setting -> Languages & Frameworks -> Android(Exper
.
.
.
使用Socket 和 ServerSocket 通信是产生
java
.
io
.
StreamCorruptedException
:
invalid
stream header
:
4F61DFAB
at
java
.
io
.
ObjectInputStream
.
readStreamHeader(ObjectInputStream
.
java
:
808)
客户端发送给服务端的数据包(Message)类中包含了其他类的属性字段,导致错误。具体错误原因不知道!
解决
办法
将Message类
多次创建ObjectOutputStream对象写对象的话,会重复写入header,导致读出时,出现streamcorrput异常,所以这里要判断是不是第一次写文件,若是则写入头部,否则不写入。
多次写对象的文件内容:
t str0t str1t str2 t str0t str1t str2
出现两个header信息( |),在读出时候就会报错:
java
.
io
.
Str
关于
java
对象的反序列化时产生的异常补充:
java
.
io
.
StreamCorruptedException
:
invalid
type
code
:
AC
大家好,我是一位在
java
学习圈中不愿意透露姓名并苟且偷生的小学员,如果文章有错误之处,还望海涵,欢迎多多指正
问题
描述:
// 在向一个文件写入可序列化对象时,每次在文件的末尾添加一个或多个可序列化的对象,
// 于是使用了FileOutputStream(文件名,true)间接的构建了ObjectOutputStream流对象
// 在一个文
java
.
io
.
StreamCorruptedException
:
invalid
type
code
:
34
at
java
.
io
.
ObjectInputStream
.
readObject0(ObjectInputStream
.
java
:
1353)
原因:反序列的这边没有对应的类导致。。。
备忘,留给比我还马虎的人看的~
.
.
.
docker: Error response from daemon: driver failed programming external connectivity on endpoint mysq
14040