Пытаюсь понять почему происходит следующее: При переносе 36 строки на 7 позицию (сразу после объявления второго BufferedReader) программа начинает вести себя некорректно, стирает весь файл и выбрасывает ИндексАутОфБаундЕксепшн, жалуясь на строку 34. не могу понять почему так, может кто знает??
if (args[0].equals("-d")) {

            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            String path = br.readLine();

            BufferedReader br1 = new BufferedReader(new FileReader(path));

            ArrayList<String> listOfGoods = new ArrayList<>();
            String line = "";

            //заполняем массив товаров
            while ((line = br1.readLine()) != null) {
                listOfGoods.add(line);
            }

            //заполняем массив id интами
            ArrayList<Integer> arrayOfId = new ArrayList<>();
            for (String s: listOfGoods){
                //System.out.println(s);
                arrayOfId.add(Integer.parseInt(s.substring(0,8).trim()));
            }

            // находим нужный id
            int targetIndex = 0;
            int idi = 0;
            for (Integer i: arrayOfId){
                if (Integer.parseInt(args[1]) == i) { targetIndex = idi;}
                idi ++;
            }

            if (targetIndex == 0) {return;}

            //удаляем строку из массива
            listOfGoods.remove(targetIndex);

            FileWriter fileWriter = new FileWriter(path);
            //записываем данные в файл
            for (String s: listOfGoods){
                fileWriter.write(s + "\n");}