zoukankan      html  css  js  c++  java
  • 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">这两种情况下的区分,前一种是用循环判断是否"<"下一个就是">"了,后者是判断“<”下一个是否是空格,两种情况都应输出相应的标签。

  • 相关阅读:
    大型web系统数据缓存设计
    配置AndroidStudio
    android-studio 安装gradle
    Gradle的简介与安装
    史上最详细的Android Studio系列教程四--Gradle基础
    Android SDK
    如何让猎头找到你
    android-volley-manager
    Android Studio导入Project的方法
    设置Android Studio启动时可选最近打开过的工程
  • 原文地址:https://www.cnblogs.com/lvlang/p/10586510.html
Copyright © 2011-2022 走看看