java寻找html文件中的标签

题目描述:

找出html文件(vacation.htm)中的所有标签名并显示出来。*不要使用正则表达式。


代码:

import java.io.*;

class ShowTags{
  public static void main(String[] args)throws IOException{
     String content = readFile("vacation.htm");
     int len = content.length();
	 /*for(int i = 0; i < content.length();i++)
	 {
		 System.out.print(content.charAt(i));
	 }*/
	 //char [] ar = content.toCharArray();
     int begin = 0, end = 0;
	 for(int i = 0; i < len;)
	 {
		 if((content.charAt(i) == '<') 
				 && (content.charAt(i+1) != '!') 
				 && (content.charAt(i+1) != '/'))
		 {
			 begin = i;
			 for(int j = i+1 ; j < len ; j++)
			 {
				 if((content.charAt(j) == ' ') || (content.charAt(j) == '>'))
				{
					end = j;
					i = j + 1;
					System.out.println(content.substring(begin+1, end));
					break;
				}
			 }
		 }
		 else
		 {
			 i++; 
		 }
	 }

  }

  static String readFile(String fileName) throws IOException{
    	StringBuilder sb = new StringBuilder("");
	int c1;
	FileInputStream f1= new FileInputStream(fileName);		
	InputStreamReader in = new InputStreamReader(f1, "UTF-8");

	while ((c1 = in.read()) != -1) {
	  sb.append((char) c1);
	}        
        return sb.toString();
  }
}



运行结果截图:



    注意,这里将注释<!--  -->不当做标签。同时要注意<div>和 <div id = "aa">这两种情况下的区分,前一种是用循环判断是否"<"下一个就是">"了,后者是判断“<”下一个是否是空格,两种情况都应输出相应的标签。

原文地址:https://www.cnblogs.com/lvlang/p/10586510.html