【发布时间】:2018-04-16 10:19:19
【问题描述】:
很抱歉,如果问题已经被问过,我刚刚收到了一个 "java.lang.StringIndexOutOfBoundsException",尽管我的程序在第一次尝试时运行正确。我试图更改我的子字符串的索引,但它也不起作用。这是抛出的完整异常:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: begin 8, end 17, length 9
at java.base/java.lang.String.checkBoundsBeginEnd(Unknown Source)
at java.base/java.lang.String.substring(Unknown Source)
at platerecognition.PlateRecognition.main(PlateRecognition.java:31)
下面是几行:
public class Asserv {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws FileNotFoundException {
final File folder = new File("./Verr");
PrintWriter pw = new PrintWriter(new File("Gel.csv"));
for (final File fileEntry : folder.listFiles()) {
if (!fileEntry.isDirectory()) {
String filename = fileEntry.getName();
String date = filename.substring(0, 8);
System.out.println(date);
String time = filename.substring(8,17);
System.out.println(time);
int index = filename.indexOf("_", 19);
String plate = filename.substring(18,index);
System.out.println(plate);
int index2 = filename.indexOf("-", index+2);
String cam = filename.substring(index+4, index2);
System.out.println(cam);
String last = filename.substring(index2 + 1, filename.indexOf('.', index2 + 1));
System.out.println(last);
System.out.println(fileEntry.getName());
【问题讨论】:
-
filename的值是多少? -
你能发布时间的价值吗?
-
你的结束索引必须是
-
请将代码放入问题中,而不是放入 cmets - 并显示实际值,而不仅仅是创建值的代码。
-
抱歉,已经完成了
标签: java indexing parameters substring