Первым параметром в метод main приходит тег. Например, «span«. Вывести на консоль все теги, которые соответствуют заданному тегу. Каждый тег на новой строке, порядок должен соответствовать порядку следования в файле. Количество пробелов, n, r не влияют на результат. Файл не содержит тег CDATA, для всех открывающих тегов имеется отдельный закрывающий тег, одиночных тегов нет. Тег может содержать вложенные теги. Пример вывода: Turanga Leela Turanga Leela Super girl Шаблон тега: <tag>text1</tag> <tag text2>text1</tag> <tag text2>text1</tag> text1, text2 могут быть пустыми Требования: 1. Программа должна считывать имя файла с консоли (используй BufferedReader). 2. BufferedReader для считывания данных с консоли должен быть закрыт. 3. Программа должна считывать содержимое файла (используй FileReader). 4. Поток чтения из файла (FileReader) должен быть закрыт. 5. Программа должна выводить в консоль все теги, которые соответствуют тегу, заданному в параметре метода main.
package com.javarush.task.task19.task1918;

/*
Знакомство с тегами
*/

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Solution {
    public static void main(String[] args) throws IOException {

        String tag = "<" + args[0];// начальный тэг
        String tagEnd = "</" + args[0] + ">";// конечный тэг
        String s = "";
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        BufferedReader readFile = new BufferedReader(new FileReader(reader.readLine()));
        reader.close();
        while (readFile.ready()) s +=  readFile.readLine();//все запишим в одну строку
        readFile.close();

        while (true) {
         if (s.contains(tag) && s.contains(tagEnd))   {
                int i = s.indexOf(tag);// находим индекс первого вхождения <tag
                int g = s.indexOf(tagEnd);//находим индекс первого вхождения </tag>
                String ss = s.substring(i, g) + tagEnd;//нужный нам тэг
                s = s.replaceAll(ss, "");// удалим то что проверили.
                System.out.println(ss);
            }
            else break;
        }
    }
}