判断字符串中是不是含某个字符,提示了java.lang.NullPointerExceptio

判断字符串中是否含某个字符,提示了java.lang.NullPointerExceptio
点击下面标题查看本文完整版:判断字符串中是否含某个字符,提示了java.lang.NullPointerException

判断字符串中是否含某个字符:

public static void main(String args[])
{
try{
FileReader fr=new FileReader("c:\\ss1.txt");
BufferedReader br=new BufferedReader(fr);

try{
while(br.ready())
{
String line=br.readLine().toString();
if(line.matches("beijing"))
System.out.println("有"+br.readLine().toString());
else
System.out.println("无"+br.readLine().toString());

}
}finally{
fr.close();
}
}
catch(IOException e)
  {
System.out.println("error");
  }
}

}


报错java.lang.NullPointerException

------解决方法--------------------
确实~只发帖不结帖....楼上那句话说的好啊。

下面说说你的问题吧:
String line=br.readLine().toString();
为什么要调用toString()方法?
readLine()方法返回的就是String类型。
如下即可:
String line=br.readLine();
if(line != null){
//do something...
}
还有:
if(line.matches("beijing"))
System.out.println("有"+br.readLine().toString());
else
System.out.println("无"+br.readLine().toString());

}
如果条件成立了,下面的br.readLine()又会读取一行新的文本。
直接使用line不就行了?


 

    
1 楼 zhangli123123 2011-03-11  
老有技术含量了!!!!