Advertisement
jaVer404

level19.lesson10.bonus03 (in between)

Apr 28th, 2016
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.29 KB | None | 0 0
  1. package com.javarush.test.level19.lesson10.bonus03;
  2.  
  3. /* Знакомство с тегами
  4. Считайте с консоли имя файла, который имеет HTML-формат
  5. Пример:
  6. Info about Leela <span xml:lang="en" lang="en"><b><span>Turanga Leela
  7. </span></b></span><span>Super</span><span>girl</span>
  8. Первым параметром в метод main приходит тег. Например, "span"
  9. Вывести на консоль все теги, которые соответствуют заданному тегу
  10. Каждый тег на новой строке, порядок должен соответствовать порядку следования в файле
  11. Количество пробелов, \n, \r не влияют на результат
  12. Файл не содержит тег CDATA, для всех открывающих тегов имеется отдельный закрывающий тег, одиночных тегов нету
  13. Тег может содержать вложенные теги
  14. Пример вывода:
  15. <span xml:lang="en" lang="en"><b><span>Turanga Leela</span></b></span>
  16. <span>Turanga Leela</span>
  17. <span>Super</span>
  18. <span>girl</span>
  19.  
  20. Шаблон тега:
  21. <tag>text1</tag>
  22. <tag text2>text1</tag>
  23. <tag
  24. text2>text1</tag>
  25.  
  26. text1, text2 могут быть пустыми
  27. */
  28.  
  29. import java.io.BufferedReader;
  30. import java.io.FileReader;
  31. import java.io.IOException;
  32. import java.io.InputStreamReader;
  33. import java.util.TreeMap;
  34.  
  35. public class Solution {
  36.     public static void main(String[] args) {
  37.         BufferedReader readName = null;
  38.         try
  39.         {
  40.             //readName = new BufferedReader(new InputStreamReader(System.in));//add after test
  41.             //String fileName = readName.readLine();//add after test
  42.             String myTag = "span";//DELETE after test
  43.             String fileName = "d:\\Test_files\\Input.html";//DELETE after test
  44.             String openTag = String.format("<%s",myTag);//replace myTag with args[0]
  45.             String closeTag = String.format("</%s",myTag);
  46.             String fileText = fileToString(fileName);
  47.             TreeMap<Integer, String>myTags = new TreeMap<>();
  48.             addTags(fileText,openTag,myTags);
  49.         }
  50.         catch (Exception e) {}
  51.     }
  52.  
  53.     public static String fileToString (String fileToRead) {
  54.         StringBuilder contentBuilder = new StringBuilder();
  55.         try
  56.         {
  57.             BufferedReader in = new BufferedReader(new FileReader(fileToRead ));
  58.             String str;
  59.             while ((str=in.readLine())!=null) {
  60.                 contentBuilder.append(str);
  61.             }
  62.             in.close();
  63.         }
  64.         catch (IOException e)
  65.         {
  66.         }
  67.         return contentBuilder.toString();
  68.     }
  69.  
  70.     public static void addTags (String someText, String toFind, TreeMap<Integer,String> smTg)
  71.     {
  72.         int lastIndex = 0;
  73.         String temp;
  74.         while (lastIndex!=-1)
  75.         {
  76.             lastIndex = someText.indexOf(toFind,lastIndex);
  77.             if (lastIndex != -1)
  78.             {
  79.                 temp = someText.substring(lastIndex,(someText.indexOf(">",lastIndex))+1);
  80.                 smTg.put(lastIndex,temp);
  81.                 lastIndex += temp.length();
  82.             }
  83.         }
  84.     }
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement