貌似遇到问题了,在Java中,parseInt方法是java.lang.Integer类的一个静态方法,它用来将字符串转换为基本数据类型int。如果字符串不能被解析为有效的整数,parseInt会抛出一个NumberFormatException。
原来是取整串转换,以为是取第一个字符,
所以这里需要分割字符串函数split或者转换为数组,
采用第二种结果
应用于个人项目:
public static void inHistryWork() {
FileInputStream fis = null;
try {
fis = new FileInputStream("src\\Io\\histrywork.ser");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
BufferedReader reader = new BufferedReader(new InputStreamReader(fis));
while (true) {
try {
String line = reader.readLine();
if (line == null) break;
//String num= Arrays.toString(line.split("\\s+"));
char[] chars = line.toCharArray();
int a = Integer.parseInt(chars[0] + "");
histryworkmap.put(a - 1, line);
//Byte [] bytes=new Byte[1024];
} catch (FileNotFoundException e) {
e.printStackTrace();
break;
} catch (IOException e) {
e.printStackTrace();
break;
}
}
}