在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("")))
。