Как решить stringindexoutofboundsexception
У меня есть java-программа, которая читает файл журнала и отображает его в консоли. Перед отображением его следует удалить метку времени. Поэтому я реализовал следующую функцию,
public void readLogFile() { try { InputStream fis = new FileInputStream("C:\\Users\\manujayap.DIRECT\\eclipse-workspace-java\\LogRead\\src\\LogRead\\SocketLog.log"); InputStreamReader isr = new InputStreamReader(fis); BufferedReader br = new BufferedReader(isr); String line; //loop through logFile while((line = br.readLine()) != null) { line.substring(3); //passing the new line addDetails(line); } br.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
Здесь
addDetails(line);это отдельная функция, которая вставляет строку в список массивов.
Когда я компилирую программу, она выдает исключение.
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -3 at java.base/java.lang.String.substring(String.java:1876) at LogRead.DataImpl.readLogFile(DataImpl.java:30) at LogRead.DataMain.main(DataMain.java:10)
Как я могу решить эту проблему? Спасибо!
Что я уже пробовал:
Я попытался дать начало и конечную точку подстроке