我正在解析一个文件,有时我会得到一条小线或大线。 如果行很小,是否可以在行上附加额外的标记??
这是我的程序
private static String[] LISTOFFIELDS = null;
String fields = "A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z";
String line = "OIUU||HHH|INBVC INB|PP|NN|OO|PPPPP||";
String[] totaltokens = line.split("\\|", LISTOFFIELDS.length);
private static HashMap<String, Object> ParsedValues(String[] totaltokens) {
HashMap<String, Object> map = new HashMap<String, Object>();
for (int i = 0; i < LISTOFFIELDS.length; i++) {
String fieldName = LISTOFFIELDS[i];
map.put(fieldName, totaltokens[i]);
}
}
正如你所看到的,如果行很小,我会得到
线程“main”中的异常java.lang.ArrayIndexOutOfBoundsException:10
如果我将字符串字段减少为 String fields = "A|B|C|D|E|F|G|H|"; ,我可以避免 ArrayIndexOutOfBoundsException;
是否可以在不对字符串字段进行任何修改的情况下避免异常?
最佳答案
在分割并获取子字符串之前检查字符串的长度。
关于Java : Appending extra tokens dynamically to a String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13677661/