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)};
所以我有这个 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)};