异常来袭:java.io.EOFException
今天遇到这样一个异常:
java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2553)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1296)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
at Server.RequestProcessor.run(RequestProcessor.java:40)
at java.lang.Thread.run(Thread.java:662)
网上查了一下说:达了文件的末尾,程序却没有正常结束读取文件内容,
不是太理解什么意思,下面是出错的地方:
public void run() {
boolean flag = true; //是否不间断监听
try{
OnlineClientIOCache currentClientIOCache = new OnlineClientIOCache(
new ObjectInputStream(currentClientSocket.getInputStream()),
new ObjectOutputStream(currentClientSocket.getOutputStream()));
while(flag){ //不停地读取客户端发过来的请求对象
//从请求输入流中读取到客户端提交的请求对象
Request request = (Request)currentClientIOCache.getOis().readObject();
System.out.println("Server读取了客户端的请求:" + request.getAction());
String actionName = request.getAction(); //获取请求中的动作
if(actionName.equals("userRegiste")){ //用户注册
registe(currentClientIOCache, request);
}else if(actionName.equals("userLogin")){ //管理员登录
login(currentClientIOCache, request);
}else if(actionName.equals("userLogin2")){ //用户登录
login2(currentClientIOCache, request);
}else if(actionName.equals("exit")){ //请求断开连接
flag = logout(currentClientIOCache, request);
}else if(actionName.equals("chat")){ //管理员发布信息
chat(request);
}else if(actionName.equals("chat2")){ //客户端聊天
chat2(request);
}else if(actionName.equals("add")){ //客户端聊天
add(request);
}else if(actionName.equals("agree")){ //客户端聊天
add1(request);
}
}
}catch(Exception e){
e.printStackTrace();
}
}
java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2553)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1296)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
at Server.RequestProcessor.run(RequestProcessor.java:40)
at java.lang.Thread.run(Thread.java:662)
网上查了一下说:达了文件的末尾,程序却没有正常结束读取文件内容,
不是太理解什么意思,下面是出错的地方:
public void run() {
boolean flag = true; //是否不间断监听
try{
OnlineClientIOCache currentClientIOCache = new OnlineClientIOCache(
new ObjectInputStream(currentClientSocket.getInputStream()),
new ObjectOutputStream(currentClientSocket.getOutputStream()));
while(flag){ //不停地读取客户端发过来的请求对象
//从请求输入流中读取到客户端提交的请求对象
Request request = (Request)currentClientIOCache.getOis().readObject();
System.out.println("Server读取了客户端的请求:" + request.getAction());
String actionName = request.getAction(); //获取请求中的动作
if(actionName.equals("userRegiste")){ //用户注册
registe(currentClientIOCache, request);
}else if(actionName.equals("userLogin")){ //管理员登录
login(currentClientIOCache, request);
}else if(actionName.equals("userLogin2")){ //用户登录
login2(currentClientIOCache, request);
}else if(actionName.equals("exit")){ //请求断开连接
flag = logout(currentClientIOCache, request);
}else if(actionName.equals("chat")){ //管理员发布信息
chat(request);
}else if(actionName.equals("chat2")){ //客户端聊天
chat2(request);
}else if(actionName.equals("add")){ //客户端聊天
add(request);
}else if(actionName.equals("agree")){ //客户端聊天
add1(request);
}
}
}catch(Exception e){
e.printStackTrace();
}
}
...全文
相关推荐
mysql 异常com.mysql.jdbc.CommunicationsException
com.mysql.jdbc.CommunicationsException Communications link failure due to underlying exception:
java常见异常
算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException 数组负下标异常:NegativeArrayException 数组下标越界异常:ArrayIndexOutOfBoundsException 违背安全原则异常:SecturityException 文件已结束异常:EOFException 文件未找到异常:FileNotFoundException 字符串转换为数字异常:NumberFormatException
EOFException解决办法.md
EOFException解决办法.md
java.io.EOFException(解决方案).md
项目中碰到的,记录一下解决方案
java常见异常的解决方案
java常见异常 以及这些异常的解决方案


Java SE
