java - 读取文件时数组索引越界

标签 java string tokenize

我有一个包含两条数据的文本文件:

1675 | 2015 年 2 月 28 日 |简·史密斯 |詹姆斯·C |詹姆斯·C | 4 | 3

我的如下:

      while ((line = br.readLine()) != null) {
            String parts[] = line.split(" | ");
            String cID = parts[0];
            String cDate = parts[1];
            String cName = parts[2];
            String cName2 = parts[3];
            String wName = parts[4];
            String s1 = parts[5];
            String s2 = parts[6];
            //System.out.println(cID + cDate + cName + cName2 + wName + s1 +                   s2);
            System.out.println(Arrays.toString(parts));   
        }
        br.close(); 

但是我收到以下错误:

线程“AWT-EventQueue-0”中的异常 java.lang.ArrayIndexOutOfBoundsException: 1

最佳答案

您可以尝试用|分割字符串

str.split("\\|")

\\放在|之前

关于java - 读取文件时数组索引越界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35743053/

相关文章:

python 当行中的字符串从下一行获取数据时

PHP如何从序列化的mysql字符串中提取变量?

java - 标记化错误 : java. util.regex.PatternSyntaxException,悬空元字符 '*'

java - 如何通过自动化 headless 浏览器中的窗口弹出窗口将文件上传到网络浏览器(selenium webdriver)

java - Spring MVC 自定义格式化程序在测试中工作但在浏览器中失败

java - 当我在文本字段中输入 "1"时,如何使按钮起作用?

php - 解析/标记包含 SQL 命令的字符串

Java - Lucene - 如何使用 docids 数组过滤搜索

c# - 如何按值中的子字符串对 Dictionary<string,string> 进行排序?

c - 为 shell 程序标记 char*