Java : Appending extra tokens dynamically to a String

标签 java file-io

我正在解析一个文件,有时我会得到一条小线或大线。 如果行很小,是否可以在行上附加额外的标记??

这是我的程序

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/

相关文章:

java - JSP 页面使用的类的安全性如何?

java - 创建一个 ArrayList 数组来存储 Generic 类型的对象

java - 如何等待文件创建

java - 数组返回测试

c - 需要帮助修复在文本文件中查找 max_min_numbers 的函数

java - 创建具有右对齐字符串的 Java 文件

java - 关于ExecutorService的澄清

c - 从 C 文件中读取数字

即使指定了绝对路径,Scala io.Source.fromfile 也找不到我的文件

javascript - 如何使用javascript从输入类型文件中获取字节数组