亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? translate.java

?? java的網(wǎng)絡(luò)蜘蛛程序
?? JAVA
字號(hào):
package com.heaton.bot.translate;
import java.util.*;
import javax.swing.text.*;
import javax.swing.text.html.*;
import com.heaton.bot.*;


/**
 * Example program from chapter 4
 * 
 * This class is used to translate websites into Pig Latin.
 * This class does three main things.
 * 
 * 1. Resolve all image URL's.
 * 2. Resolve all links and point them back to the translator.
 * 3. Translate actual text into Pig Latin.
 * 
 * @author Jeff Heaton
 * @version 1.0
 */
public class Translate extends HTMLEditorKit.ParserCallback {

  /**
   * Used to hold the page as it is translated.
   */
  protected String _buffer = "";

  /**
   * The base URL, which is the page being translated.
   * This is used to resolve relative links.
   */
  protected String _base;

  /**
   * This is the name of the URL that pages should be reflected
   * back to for further translation. This allows links to be
   * translated too.
   */
  protected String _reflect;

  /**
   * The constructor.
   * 
   * @param t The URL to translate.
   * @param reflect The page to reflect back to.
   * @see _reflect
   */
  Translate(String t,String reflect)
  {
    _base = t;
    _reflect = reflect;
  }

  /**
   * Get the translated page.
   * 
   * @return The translated page.
   */
  public String getBuffer()
  {
    return _buffer;
  }

  /**
   * Called by the parser whenever an HTML comment is found.
   * 
   * @param data The actual comment.
   * @param pos The position.
   */
  public void handleComment(char[] data,int pos)
  {
    _buffer+="<!-- ";
    _buffer+= new String(data);;
    _buffer+=" -->";
  }

  /**
   * A method used to handle HTML attributes. This is called
   * by most tag types.
   * 
   * @param attributes The attributes.
   */
  protected void attributes(AttributeSet attributes)
  {
    Enumeration e = attributes.getAttributeNames();
    while ( e.hasMoreElements() ) {
      Object name = e.nextElement();
      String value = (String)attributes.getAttribute(name);

      if ( name == HTML.Attribute.HREF )
        value = _reflect + URLUtility.resolveBase(_base,value);
      else
        if ( name == HTML.Attribute.SRC ||
             name == HTML.Attribute.LOWSRC )
        value = URLUtility.resolveBase(_base,value);

      _buffer+= " " + name + "=\"" + value + "\" ";
    }
  }

  /**
   * Handle an HTML start tag.
   * 
   * @param t The tag encountered.
   * @param a The attributes for that tag.
   * @param pos The position.
   */
  public void handleStartTag(HTML.Tag t,MutableAttributeSet a,int pos)
  {
    _buffer+="<" + t;
    attributes(a);
    if ( t == HTML.Tag.APPLET && 
         a.getAttribute(HTML.Attribute.CODEBASE)==null ) {
      String codebase = _base;
      if ( codebase.toUpperCase().endsWith(".HTM") || 
           codebase.toUpperCase().endsWith(".HTML") )
        codebase = codebase.substring(0,codebase.lastIndexOf('/'));

      _buffer+=" codebase=\"" + codebase + "\"";
    }
    _buffer+=">";
  }  

  /**
   * Handle an HTML end tag.
   * 
   * @param t The tag encountered.
   * @param pos The position.
   */
  public void handleEndTag(HTML.Tag t,int pos)
  {
    _buffer+="</" + t + ">";
  }

  /**
   * Handle a simple tag(one without an end tag)
   * 
   * @param t The tag encountered.
   * @param a The attributes for that tag.
   * @param pos The position.
   */
  public void handleSimpleTag(HTML.Tag t,MutableAttributeSet a,int pos)
  {
    if ( (t.toString()).startsWith("__") )
      return;
    _buffer+="<";
    if ( a.getAttribute(HTML.Attribute.ENDTAG)!=null ) {
      _buffer+="/"+t;
    } else {
      _buffer+=t;
      attributes(a);
    }
    _buffer+=">";
  }

  /**
   * Handle text.
   * 
   * @param data
   * @param pos
   */
  public void handleText(char[] data,int pos)
  {
    _buffer+=pigLatin(new String(data));
  }

  /**
   * Translate a string to Pig Latin.
   * 
   * @param english The English string.
   * @return A Pig Latin string.
   */
  protected String pigLatin( String english )
  {
    String pigWord; //an array of 
    String pigLatin;
    String temp;
    int mode;// 0=lower,1=cap,2=upper

    StringTokenizer englishWords = new StringTokenizer( english );
    //StringTokenizer is used to parse a string
    //creates an emptry string
    pigLatin = "";  
    //checks for the next word
    while ( englishWords.hasMoreTokens() ) {
      //puts the next word a temp
      temp = new String (englishWords.nextToken() ); 

      if ( (temp.charAt(0)>='A' && temp.charAt(0)<='Z') &&
           (temp.charAt(1)>='A' && temp.charAt(1)<='Z') )
        mode=2;
      else if ( (temp.charAt(0)>='A' && temp.charAt(0)<='Z') &&
                (temp.charAt(1)>='a' && temp.charAt(1)<='z') )
        mode=1;
      else
        mode=0;

      //if the word is more than one char long
      if ( temp.length() > 1 ) {
        //calls function to rearrange word	
        String start = new String(firstVowel(temp)); 
        pigWord = new String ( start + "ay" ); 
//takes the first letter of the word concatenates it and "ay" to the end
//of the word and puts it in the array
      } else {
        pigWord = temp + "ay"; //add "ay" to a one letter word
      }
      if ( pigWord.trim().length()>0 ) {
        if ( pigLatin.length()>0 )
          pigLatin+=" ";
        switch ( mode ) {
        case 0:
          pigLatin+=pigWord.toLowerCase();
          break;
        case 1:
          pigLatin+=pigWord.substring(0,1).toUpperCase();
          pigLatin+=pigWord.substring(1).toLowerCase();
          break;
        case 2:
          pigLatin+=pigWord.toUpperCase();
          break;            
        }
      }
    }

    return pigLatin;
  }

  /**
   * Find the first vowel in a string, used by the pigLatin
   * method.
   * 
   * @param s A string.
   * @return The location of the first vowel.
   */
  protected String firstVowel(String s)
  {
    String consonants = new String();
    String remain = new String();
    String newWord = "";
    int letterIndex = 0;  //The index of a letter in the word

    //checks each letter in the word for a vowel
    while ( letterIndex < s.length() ) {
      if ( (s.charAt(letterIndex) != 'a') && 
           (s.charAt(letterIndex) != 'A') &&
           (s.charAt(letterIndex) != 'e') && 
           (s.charAt(letterIndex) != 'E') &&
           (s.charAt(letterIndex) != 'i') && 
           (s.charAt(letterIndex) != 'I') &&
           (s.charAt(letterIndex) != 'o') && 
           (s.charAt(letterIndex) != 'O') &&
           (s.charAt(letterIndex) != 'u') && 
           (s.charAt(letterIndex) != 'U') ) {
        consonants += s.substring(letterIndex,(letterIndex + 1));
        letterIndex++;  //concatenats the consonants into a string
      } else {
        //puts the rest of the word into a string
        remain += s.substring(letterIndex,s.length()); 
        letterIndex = s.length();  //ends the loop
      }
    }
    if ( consonants != "" ) {
      //concatenates the consonants onto the end of the word
      newWord = remain + consonants;  
    } else {
      newWord = remain;
    }
    return newWord;
  }     


  /**
   * Static method that should be called to actually translate
   * a URL. This is the main entry point.
   * 
   * @param url The URL to translate.
   * @param callback The URL that all links should be redirected through for 
   * further translation.
   * @return The text of this page translated.
   * @exception java.io.IOException
   * @exception javax.swing.text.BadLocationException
   */
  public static String translate(String url,String callback)
  throws java.io.IOException,javax.swing.text.BadLocationException
  {
    Translate trans = new Translate(url,callback);
    HTMLPage page = new HTMLPage(new HTTPSocket());
    page.open(url,trans);
    return trans.getBuffer();
  }
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品国产高清久久伦理二区| 丁香激情综合五月| 亚洲国产视频a| 亚洲黄色免费电影| 亚洲影视在线观看| 亚洲第一精品在线| 天堂在线亚洲视频| 男人的天堂久久精品| 久久97超碰国产精品超碰| 久久99精品久久久久久久久久久久| 奇米色777欧美一区二区| 日韩国产欧美视频| 精品在线视频一区| 国产精品一区二区在线播放 | 九色|91porny| 国产福利一区二区三区视频在线 | 国产一区二区三区av电影| 国产在线精品一区二区夜色| 国产一区二区三区| 成人三级伦理片| 色综合久久88色综合天天| 欧美在线播放高清精品| 欧美日韩和欧美的一区二区| 在线成人av影院| 精品福利二区三区| 国产精品网站在线播放| 亚洲色图视频网| 性感美女久久精品| 狠狠色丁香久久婷婷综合丁香| 福利视频网站一区二区三区| 在线免费观看日本欧美| 7777精品伊人久久久大香线蕉超级流畅| 91精品国产91久久综合桃花| 久久先锋资源网| 亚洲人午夜精品天堂一二香蕉| 亚洲va天堂va国产va久| 国产高清一区日本| 日本精品免费观看高清观看| 欧美一区二区视频网站| 国产精品久久午夜| 秋霞成人午夜伦在线观看| 国产毛片精品视频| 欧美视频你懂的| 精品99999| 亚洲美女精品一区| 久草这里只有精品视频| 91在线观看污| 欧美v国产在线一区二区三区| 中文字幕精品三区| 视频一区二区不卡| 99精品久久99久久久久| 91麻豆精品国产综合久久久久久| 国产精品全国免费观看高清| 亚洲国产成人tv| 波多野结衣欧美| 91精品在线观看入口| 国产精品久久久久久久久免费桃花 | 日韩一区二区免费在线电影| 国产精品电影院| 麻豆免费精品视频| 欧美视频在线播放| 综合网在线视频| 精品亚洲成a人| 精品视频色一区| 久久婷婷久久一区二区三区| 亚洲一区二区三区爽爽爽爽爽| 国产91精品一区二区| 欧美一区二区福利视频| 亚洲欧美电影院| 国产精品一区二区在线观看网站| 欧美日韩电影在线| 一区二区欧美在线观看| 国产成人8x视频一区二区| 日韩视频一区二区三区在线播放| 亚洲视频精选在线| 国产精品一级在线| 日韩一区二区三区观看| 亚欧色一区w666天堂| 91蜜桃视频在线| 国产精品久久一级| 懂色av中文字幕一区二区三区| 日韩你懂的在线播放| 亚洲一区二区成人在线观看| 97久久超碰精品国产| 国产片一区二区三区| 九九**精品视频免费播放| 欧美女孩性生活视频| 亚洲综合色噜噜狠狠| 色综合久久中文字幕综合网| 国产精品天美传媒沈樵| 国产一区二区免费看| 欧美草草影院在线视频| 日韩电影在线一区二区三区| 欧美日精品一区视频| 亚洲美女一区二区三区| 97国产一区二区| 亚洲丝袜制服诱惑| 94-欧美-setu| 亚洲人成精品久久久久| 色婷婷综合激情| 一区二区成人在线观看| 色婷婷国产精品久久包臀| 综合av第一页| 色婷婷香蕉在线一区二区| 亚洲欧洲美洲综合色网| 91麻豆国产精品久久| 亚洲精品菠萝久久久久久久| 91免费版在线看| 亚洲综合男人的天堂| 欧美理论电影在线| 免费在线观看视频一区| 欧美成人一区二区三区片免费| 久久激情五月婷婷| 久久先锋资源网| 不卡一区二区在线| 综合网在线视频| 欧美日韩国产综合视频在线观看| 五月天一区二区| 欧美大胆人体bbbb| 国产在线播放一区三区四| 国产欧美一区二区精品性色| av在线这里只有精品| 亚洲综合久久久| 日韩亚洲电影在线| 国产丶欧美丶日本不卡视频| 国产精品理伦片| 欧美色图激情小说| 国产在线精品一区在线观看麻豆| 国产精品无码永久免费888| 在线观看日韩精品| 裸体在线国模精品偷拍| 国产日韩欧美不卡在线| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 91在线视频在线| 天天色天天操综合| 午夜精品久久久| 欧美成人a视频| 97精品视频在线观看自产线路二| 亚洲综合免费观看高清在线观看| 欧美一级欧美一级在线播放| 国产精品一区二区久久不卡| 亚洲日本电影在线| 欧美一区二区三级| 不卡一区二区在线| 五月婷婷激情综合| 欧美激情一区三区| 欧美猛男男办公室激情| 国产成人亚洲综合a∨婷婷图片| 亚洲免费av高清| 欧美精品一区在线观看| 91无套直看片红桃| 精品在线一区二区| 亚洲最大的成人av| 久久蜜桃一区二区| 欧美三级日韩三级| 丁香婷婷深情五月亚洲| 青青草精品视频| 亚洲视频图片小说| 久久综合色播五月| 欧美性受xxxx| 成人一区二区三区| 蜜桃91丨九色丨蝌蚪91桃色| 中文字幕亚洲在| 久久亚洲私人国产精品va媚药| 欧美自拍偷拍一区| 丁香一区二区三区| 蜜臀av性久久久久av蜜臀妖精| 国产精品久久国产精麻豆99网站| 91精品国产高清一区二区三区蜜臀 | 裸体在线国模精品偷拍| 伊人一区二区三区| 国产片一区二区| 欧美大片顶级少妇| 欧美精品亚洲一区二区在线播放| av不卡免费在线观看| 久久se精品一区精品二区| 亚洲一区二区免费视频| 国产精品久久久久久久久免费樱桃| 精品国产一区二区三区久久影院| 欧美视频在线不卡| 91香蕉国产在线观看软件| 丁香天五香天堂综合| 精品一区二区三区免费观看| 亚洲二区在线视频| 亚洲欧美色图小说| 国产精品免费视频观看| 久久久精品国产免费观看同学| 日韩一区二区电影在线| 欧美日韩亚洲高清一区二区| 91麻豆国产自产在线观看| av在线不卡电影| 国产成人8x视频一区二区 | 欧美一区二区三区人| 欧美亚洲综合久久| 99在线热播精品免费| 国产成人在线色| 国产河南妇女毛片精品久久久| 激情五月激情综合网| 狠狠色伊人亚洲综合成人| 精品一区二区在线视频|