我正在尝试生成一个hashmap,并要求文本文件中的某些字符串是键的整数。但是,每当我尝试将字符串转换为整数时,程序就会崩溃。
以下是代码:
BufferedReader in = new BufferedReader(new FileReader("patient.txt"));//create thing to open the file
String line;
while((line = in.readLine())!= null)
{
String[] text = line.split(",", -1);
String keyString = text[0];
String value = text[1] + text[2] + text[3] + text[4];
int key = Integer.parseInt(keyString);
System.out.println(key + " " + value);
}
导致程序崩溃的部分是parseInt行。我收到了错误
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
这是文本文件的示例。我正在尝试将Baker转换为整数等。
Baker, William, Chavez, 04/01/05, 04/10/06
Sanchez, Jose, Chavez, 06/15/05,
答案 0 :(得分:0)
处理此例外或 检查字符串是否与数字格式真正匹配:
String input=...;
String pattern ="-?\\d+";
if(input.matches("-?\\d+")){ // any positive or negetive integer or not!
...
}
答案 1 :(得分:0)
您的数据不允许,如果仔细查看代码,可以看到String keyString = text [0];给你的" Baker"对于第一行,这不是整数。