Why is it wrong?
package zh.codegym.task.task19.task1918;
import java.io.*;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
FileReader fileReader = new FileReader(reader.readLine());
reader.close();
String text = "";
ArrayList<Integer> startIndex = new ArrayList<>();
ArrayList<Integer> overIndex = new ArrayList<>();
//ready file
while (fileReader.ready()) {
text = text.concat(String.valueOf((char) fileReader.read()));
}
fileReader.close();
//write ArrayList
System.out.println(text);
Matcher matcher = Pattern.compile("<" + args[0]).matcher(text);
while (matcher.find()) {
startIndex.add(matcher.start());
}
matcher = Pattern.compile("</" + args[0] + ">").matcher(text);
while (matcher.find()) {
overIndex.add(matcher.start() + args[0].length() + 3);
}
//Remove inner tag
for (int i = 1; i < startIndex.size(); i++) {
if (startIndex.get(i) < overIndex.get(i - 1)) {
startIndex.remove(i);
overIndex.remove(i - 1);
i--;
}
}
for (int i = 0; i < startIndex.size(); i++) {
System.out.println(text.substring(startIndex.get(i), overIndex.get(i)));
}
}
}