在android中,我从BufferedReader获取String值,并且从文件读取后为null。

intstring = br.readLine();
System.out.println(intstring);
if(intstring != null)
{
      System.out.println("Inside if condition");
      int istring = Integer.parseInt(intstring);
}


我的输出是

 null
 Inside if condition
 NumberFormatException


请帮帮我

最佳答案

您的NumberFormatException正在发生,因为您输入的不是数字。可能是空白行,或者可能包含一些非数字字符。实际上,您的输出表明实际上是"null"这个词。

您有一些选择。


您可以在解析字符串之前检查该字符串是否包含数字,而不包含其他任何字符,例如,使用正则表达式和类似if (intString.matches("\\d+"))的条件。
您可以捕获NumberFormatException,并在发生时做一些特别的事情。
如果您知道输入中不会包含任何非数字字符,则可以检查字符串是否为空。对于此选项,您可以编写if (!intString.equals("")))

09-25 15:32