Java读取子串时遇到StringIndexOutOfBoundsException

Java StringIndexOutOfBoundsException encountered when reading substring

所以我有这个 java class 它读取一个包含多行的文件并且每当它到达这部分时

      F    C    Y

它应该读取 (return F, C, Y)

的值

我试过 ClassString = temp.substring(0, 20).trim();

但它总是 returns StringIndexOutOfBoundsException(eString 索引超出范围:20)

不知道为什么,我从头开始计算那一行,Y 在索引 20 中。

这是我的做法,当然可能需要一些错误检查。

temp = temp.trim();
String[] result = new String[] {String.valueOf(temp.charAt(0)),
                                temp.substring(1, temp.length()-2).trim(), 
                                String.valueOf(temp.charAt(temp.length()-1))};

或作为字符数组

temp = temp.trim();
char[] result2 = new char[] {temp.charAt(0),
                             temp.substring(1, temp.length()-2).trim().charAt(0), 
                             temp.charAt(temp.length()-1)};