Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.javarush.test.level19.lesson10.bonus03;
- /* Знакомство с тегами
- Считайте с консоли имя файла, который имеет HTML-формат
- Пример:
- Info about Leela <span xml:lang="en" lang="en"><b><span>Turanga Leela
- </span></b></span><span>Super</span><span>girl</span>
- Первым параметром в метод main приходит тег. Например, "span"
- Вывести на консоль все теги, которые соответствуют заданному тегу
- Каждый тег на новой строке, порядок должен соответствовать порядку следования в файле
- Количество пробелов, \n, \r не влияют на результат
- Файл не содержит тег CDATA, для всех открывающих тегов имеется отдельный закрывающий тег, одиночных тегов нету
- Тег может содержать вложенные теги
- Пример вывода:
- <span xml:lang="en" lang="en"><b><span>Turanga Leela</span></b></span>
- <span>Turanga Leela</span>
- <span>Super</span>
- <span>girl</span>
- Шаблон тега:
- <tag>text1</tag>
- <tag text2>text1</tag>
- <tag
- text2>text1</tag>
- text1, text2 могут быть пустыми
- */
- import java.io.BufferedReader;
- import java.io.FileReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.TreeMap;
- public class Solution {
- public static void main(String[] args) {
- BufferedReader readName = null;
- try
- {
- //readName = new BufferedReader(new InputStreamReader(System.in));//add after test
- //String fileName = readName.readLine();//add after test
- String myTag = "span";//DELETE after test
- String fileName = "d:\\Test_files\\Input.html";//DELETE after test
- String openTag = String.format("<%s",myTag);//replace myTag with args[0]
- String closeTag = String.format("</%s",myTag);
- String fileText = fileToString(fileName);
- TreeMap<Integer, String>myTags = new TreeMap<>();
- addTags(fileText,openTag,myTags);
- }
- catch (Exception e) {}
- }
- public static String fileToString (String fileToRead) {
- StringBuilder contentBuilder = new StringBuilder();
- try
- {
- BufferedReader in = new BufferedReader(new FileReader(fileToRead ));
- String str;
- while ((str=in.readLine())!=null) {
- contentBuilder.append(str);
- }
- in.close();
- }
- catch (IOException e)
- {
- }
- return contentBuilder.toString();
- }
- public static void addTags (String someText, String toFind, TreeMap<Integer,String> smTg)
- {
- int lastIndex = 0;
- String temp;
- while (lastIndex!=-1)
- {
- lastIndex = someText.indexOf(toFind,lastIndex);
- if (lastIndex != -1)
- {
- temp = someText.substring(lastIndex,(someText.indexOf(">",lastIndex))+1);
- smTg.put(lastIndex,temp);
- lastIndex += temp.length();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement