java socket 通信中出现的极其不明白的一个异常

[复制链接]
查看11 | 回复1 | 2008-9-23 12:21:51 | 显示全部楼层 |阅读模式
……………………
public class bit_process
{
public static void main(String args[])throws UnknownHostException,IOException,ConnectException
{
ServerSocket aServerSocket=new ServerSocket(3434);
Socket aServer=aServerSocket.accept();

BufferedReader in=new BufferedReader(new InputStreamReader(aServer.getInputStream()));
try{

boolean done=false;

String clientdata;

while(!done){

clientdata=in.readLine();

if(clientdata.equals("end"))

{

done=true;

break;

}
……………………
这是我写的一个程序的一部分,我的想法就是要在接到客户端传来的数据如果是end时就结束对端口的侦听,通信结束,可是是在运行的时候,如果接收到的是整数这样的数据就没问题,一切OK ,但只要是字符或是字符串型的数据就不行了,即使是end也一样,运行提示if(clientdata.equals("end"))这一行Exception in thread "main"java.lang.NullPointerException
恳请高手指点,小弟感激不尽!

回复

使用道具 举报

千问 | 2008-9-23 12:21:51 | 显示全部楼层
clientdata=in.readLine();if(clientdata.equals("end")) 如果没有读取到数据怎么办呢?此时 clientdata=null;所以你应该判断这种情况,比如if(clientdata==null || "end".equals(clientdata)){.......
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行