Ошибка в 23 строке StringIndexOutOfBoundsException: begin 0, end 8, length 0 хотя length = 46
package com.javarush.task.task18.task1827;
/*
Прайсы
*/
import javax.print.DocFlavor;
import java.io.*;
import java.util.ArrayList;
public class Solutionaaaa {
public static void main(String[] args) throws Exception {
try(BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
String name = br.readLine();
BufferedReader fis = new BufferedReader(new FileReader(name));
BufferedWriter fos = new BufferedWriter(new FileWriter(name, true));
int maxID = 0;
String result = "";
int id;
if (args.length != 0 & args[0].equals("-c")) {
String s = fis.readLine();
while (s != null ) {
s = fis.readLine().substring(0,8).trim();
id = Integer.parseInt(s);
if (id > maxID) {
maxID = id;
}
s = fis.readLine();
}
maxID++;
result = (maxID + "" + wr(s,8) + wr(s,30) + wr(s,8) + wr(s,4));
fos.write(result);
fos.close();
}
fis.close();
}
}
public static String wr(String str, int lenght) {
if (str.length() > lenght){
return str.substring(0,lenght);
}
while (str.length() != lenght) {
str = str + " ";
}
return str;
}
}