Java通过QQ群的API读取群组状态的代码



有好多群,懒得随时更新群的状态,特别是当前人数这个经常变的东西。这里根据QQ的一个API程序,读取状态,直接看看代码吧。

读取的接口程序和测试代码!
  1. package com.laozizhu.blog.util;
  2. import java.io.Reader;
  3. import java.io.StringReader;
  4. import java.util.List;
  5. import org.jdom.Document;
  6. import org.jdom.Element;
  7. import org.jdom.input.SAXBuilder;
  8. /**
  9.  * 读取的接口程序。
  10.  * 
  11.  * @author 老紫竹 www.laozizhu.com
  12.  */
  13. public class QQGroupBaseInfoAPI {
  14.   public static QQGroupBaseInfo get(String id) {
  15.     try {
  16.       String textXml = PageService.getPage("http://group.qq.com/cgi-bin/groupbaseinfo?groupid=" + id, "GBK");
  17.       char c = 0x1d;
  18.       String s = String.valueOf(c);
  19.       textXml = textXml.replaceAll(s, "");
  20.       SAXBuilder builder = new SAXBuilder();
  21.       Document doc = null;
  22.       Reader in = new StringReader(textXml);
  23.       doc = builder.build(in);
  24.       Element root = doc.getRootElement(); // 拿到 date
  25.       List date = root.getChildren(); // 下一级数据
  26.       Element result = (Element) date.get(0); // 结果标志
  27.       if (!"0".equals(result.getTextTrim())) {
  28.         System.out.println("没找到" + id);
  29.         return null// 没找到
  30.       }
  31.       Element item = (Element) date.get(1);
  32.       QQGroupBaseInfo o = new QQGroupBaseInfo();
  33.       o.setLogo(MyHTMLDecoder.decode(item.getChildTextTrim("logo")));
  34.       o.setMemo(MyHTMLDecoder.decode(item.getChildTextTrim("memo")));
  35.       o.setMale(MyHTMLDecoder.decode(item.getChildTextTrim("male")));
  36.       o.setFemale(MyHTMLDecoder.decode(item.getChildTextTrim("female")));
  37.       o.setRank(MyHTMLDecoder.decode(item.getChildTextTrim("rank")));
  38.       o.setGroupId(MyHTMLDecoder.decode(item.getChildTextTrim("groupid")));
  39.       o.setGroupType(MyHTMLDecoder.decode(item.getChildTextTrim("grouptype")));
  40.       o.setGroupOption(MyHTMLDecoder.decode(item.getChildTextTrim("logo")));
  41.       o.setBrief(MyHTMLDecoder.decode(item.getChildTextTrim("brief")));
  42.       o.setGroupClass(MyHTMLDecoder.decode(item.getChildTextTrim("groupclass")));
  43.       o.setCreator(MyHTMLDecoder.decode(item.getChildTextTrim("creator")));
  44.       o.setUin(MyHTMLDecoder.decode(item.getChildTextTrim("uin")));
  45.       o.setFaceId(MyHTMLDecoder.decode(item.getChildTextTrim("faceid")));
  46.       o.setCreateTime(MyHTMLDecoder.decode(item.getChildTextTrim("crttime")));
  47.       o.setGroupStatus(MyHTMLDecoder.decode(item.getChildTextTrim("gpstatus")));
  48.       o.setClassName(MyHTMLDecoder.decode(item.getChildTextTrim("class")));
  49.       o.setFlag(Long.parseLong(item.getChildTextTrim("flag")));
  50.       o.setTotal(Integer.parseInt(item.getChildTextTrim("total")));
  51.       o.setGuestDeny(Integer.parseInt(item.getChildTextTrim("guestdeny")));
  52.       o.setMemberMax(Integer.parseInt(item.getChildTextTrim("membermax")));
  53.       o.setGroupFace(Integer.parseInt(item.getChildTextTrim("groupface")));
  54.       o.setGroupName(MyHTMLDecoder.decode(item.getChildTextTrim("groupname")));
  55.       o.setOpen(Integer.parseInt(item.getChildTextTrim("isopen")) == 1);
  56.       o.setOpen(Integer.parseInt(item.getChildTextTrim("isopen")) == 1);
  57.       o.setCloseExpire(Integer.parseInt(item.getChildTextTrim("iscloseexpire")) == 1);
  58.       o.setSuperExpireDate(MyHTMLDecoder.decode(item.getChildTextTrim("superexpiredate")));
  59.       return o;
  60.     } catch (Exception ex) {
  61.       ex.printStackTrace();
  62.       return null;
  63.     }
  64.   }
  65.   /**
  66.    * @param args
  67.    */
  68.   public static void main(String[] args) {
  69.     QQGroupBaseInfo o = get("56763840");
  70.     System.out.println(o.getTotal());
  71.     System.out.println(o.getMemberMax());
  72.   }
  73. }


读取的接口信息
  1. package com.laozizhu.blog.util;
  2. /**
  3.  * QQ的基础信息。
  4.  * 
  5.  * @author 老紫竹 www.laozizhu.com
  6.  */
  7. public class QQGroupBaseInfo {
  8.   // 图标
  9.   private String logo;
  10.   // 公告
  11.   private String memo;
  12.   private String male;
  13.   private String female;
  14.   private String rank;
  15.   // 群号
  16.   private String groupId;
  17.   private String groupType;
  18.   private String groupOption;
  19.   // 简介
  20.   private String brief;
  21.   private String groupClass;
  22.   private String groupClassEx;
  23.   // 创建人
  24.   private String creator;
  25.   // 创建人的号码
  26.   private String uin;
  27.   private String faceId;
  28.   private String createTime;
  29.   // 是否为高级群
  30.   private String groupStatus;
  31.   // 分类,比如软件交流
  32.   private String className;
  33.   private long flag;
  34.   // 当前总人数
  35.   private int total;
  36.   private int guestDeny;
  37.   // 最高人数
  38.   private int memberMax;
  39.   private int groupFace;
  40.   // 群名字
  41.   private String groupName;
  42.   private boolean open;
  43.   private boolean mem;
  44.   private boolean closeExpire;
  45.   // 高级群过期日期
  46.   private String superExpireDate;
  47.   public String getLogo() {
  48.     return logo;
  49.   }
  50.   public void setLogo(String logo) {
  51.     this.logo = logo;
  52.   }
  53.   public String getMemo() {
  54.     return memo;
  55.   }
  56.   public void setMemo(String memo) {
  57.     this.memo = memo;
  58.   }
  59.   public String getGroupId() {
  60.     return groupId;
  61.   }
  62.   public void setGroupId(String groupId) {
  63.     this.groupId = groupId;
  64.   }
  65.   public String getGroupType() {
  66.     return groupType;
  67.   }
  68.   public void setGroupType(String groupType) {
  69.     this.groupType = groupType;
  70.   }
  71.   public String getGroupOption() {
  72.     return groupOption;
  73.   }
  74.   public void setGroupOption(String groupOption) {
  75.     this.groupOption = groupOption;
  76.   }
  77.   public String getGroupClass() {
  78.     return groupClass;
  79.   }
  80.   public void setGroupClass(String groupClass) {
  81.     this.groupClass = groupClass;
  82.   }
  83.   public String getGroupClassEx() {
  84.     return groupClassEx;
  85.   }
  86.   public void setGroupClassEx(String groupClassEx) {
  87.     this.groupClassEx = groupClassEx;
  88.   }
  89.   public String getBrief() {
  90.     return brief;
  91.   }
  92.   public void setBrief(String brief) {
  93.     this.brief = brief;
  94.   }
  95.   public String getCreator() {
  96.     return creator;
  97.   }
  98.   public void setCreator(String creator) {
  99.     this.creator = creator;
  100.   }
  101.   public String getUin() {
  102.     return uin;
  103.   }
  104.   public void setUin(String uin) {
  105.     this.uin = uin;
  106.   }
  107.   public String getClassName() {
  108.     return className;
  109.   }
  110.   public void setClassName(String className) {
  111.     this.className = className;
  112.   }
  113.   public long getFlag() {
  114.     return flag;
  115.   }
  116.   public void setFlag(long flag) {
  117.     this.flag = flag;
  118.   }
  119.   public int getTotal() {
  120.     return total;
  121.   }
  122.   public void setTotal(int total) {
  123.     this.total = total;
  124.   }
  125.   public int getGuestDeny() {
  126.     return guestDeny;
  127.   }
  128.   public void setGuestDeny(int guestDeny) {
  129.     this.guestDeny = guestDeny;
  130.   }
  131.   public int getMemberMax() {
  132.     return memberMax;
  133.   }
  134.   public void setMemberMax(int memberMax) {
  135.     this.memberMax = memberMax;
  136.   }
  137.   public int getGroupFace() {
  138.     return groupFace;
  139.   }
  140.   public void setGroupFace(int groupFace) {
  141.     this.groupFace = groupFace;
  142.   }
  143.   public String getGroupName() {
  144.     return groupName;
  145.   }
  146.   public void setGroupName(String groupName) {
  147.     this.groupName = groupName;
  148.   }
  149.   public boolean isOpen() {
  150.     return open;
  151.   }
  152.   public void setOpen(boolean open) {
  153.     this.open = open;
  154.   }
  155.   public boolean isMem() {
  156.     return mem;
  157.   }
  158.   public void setMem(boolean mem) {
  159.     this.mem = mem;
  160.   }
  161.   public boolean isCloseExpire() {
  162.     return closeExpire;
  163.   }
  164.   public void setCloseExpire(boolean closeExpire) {
  165.     this.closeExpire = closeExpire;
  166.   }
  167.   public String getMale() {
  168.     return male;
  169.   }
  170.   public void setMale(String male) {
  171.     this.male = male;
  172.   }
  173.   public String getFemale() {
  174.     return female;
  175.   }
  176.   public void setFemale(String female) {
  177.     this.female = female;
  178.   }
  179.   public String getRank() {
  180.     return rank;
  181.   }
  182.   public void setRank(String rank) {
  183.     this.rank = rank;
  184.   }
  185.   public String getFaceId() {
  186.     return faceId;
  187.   }
  188.   public void setFaceId(String faceId) {
  189.     this.faceId = faceId;
  190.   }
  191.   public String getCreateTime() {
  192.     return createTime;
  193.   }
  194.   public void setCreateTime(String createTime) {
  195.     this.createTime = createTime;
  196.   }
  197.   public String getGroupStatus() {
  198.     return groupStatus;
  199.   }
  200.   public void setGroupStatus(String groupStatus) {
  201.     this.groupStatus = groupStatus;
  202.   }
  203.   public String getSuperExpireDate() {
  204.     return superExpireDate;
  205.   }
  206.   public void setSuperExpireDate(String superExpireDate) {
  207.     this.superExpireDate = superExpireDate;
  208.   }
  209. }


后面是2个工具类,一个是读取页面的代码
  1. package com.laozizhu.blog.util;
  2. import java.io.BufferedReader;
  3. import java.io.FileNotFoundException;
  4. import java.io.InputStreamReader;
  5. import java.net.ConnectException;
  6. import java.net.HttpURLConnection;
  7. import java.net.URL;
  8. /**
  9.  * 读取URL的文本
  10.  * 
  11.  * @author 老紫竹 www.laozizhu.com
  12.  */
  13. public class PageService {
  14.   /**
  15.    * 读取文本。默认使用UTF-8编码
  16.    * 
  17.    * @param page 页面的URL,比如 http://www.java2000.net
  18.    * @return 读取到的文本字符串
  19.    */
  20.   public static String getPage(String page) {
  21.     return getPage(page, "UTF-8");
  22.   }
  23.   /**
  24.    * 读取文本
  25.    * 
  26.    * @param page 页面的URL,比如 http://www.java2000.net
  27.    * @param charset 页面的编码
  28.    * @return 读取到的文本字符串
  29.    */
  30.   public static String getPage(String page, String charset) {
  31.     String str = null;
  32.     int count = 3;
  33.     do {
  34.       str = _getPage(page, charset, null);
  35.       if (str == null || str.length() == 0) {
  36.         try {
  37.           Thread.sleep(1000);
  38.         } catch (InterruptedException e) {
  39.           e.printStackTrace();
  40.         }
  41.       }
  42.     } while (str == null && count-- > 0);
  43.     return str;
  44.   }
  45.   public static String getPage(String page, String charset, String cookies) {
  46.     String str = null;
  47.     int count = 3;
  48.     do {
  49.       str = _getPage(page, charset, cookies);
  50.       if (str == null || str.length() == 0) {
  51.         try {
  52.           Thread.sleep(1000);
  53.         } catch (InterruptedException e) {
  54.           e.printStackTrace();
  55.         }
  56.       }
  57.     } while (str == null && count-- > 0);
  58.     return str;
  59.   }
  60.   /**
  61.    * 读取页面信息
  62.    * 
  63.    * @param page 页面的URL
  64.    * @param charset 页面的编码类型
  65.    * @return 页面的字符串,注意换行已经被默认去掉了,如果需要,请看代码的注释部分
  66.    */
  67.   private static String _getPage(String page, String charset, String cookies) {
  68.     try {
  69.       URL url = new URL(page);
  70.       HttpURLConnection con = (HttpURLConnection) url.openConnection();
  71.       if (cookies != null) {
  72.         con.addRequestProperty("Cookie", cookies);
  73.       }
  74.       BufferedReader reader = new BufferedReader(new InputStreamReader(con.getInputStream(), charset));
  75.       StringBuilder b = new StringBuilder();
  76.       String line;
  77.       while ((line = reader.readLine()) != null) {
  78.         b.append(line);
  79.         b.append("/r/n"); // 默认这里没有保存换行,而是让所有的字符出现在一行里面。如果需要,请去掉前面的注释
  80.       }
  81.       return b.toString();
  82.     } catch (FileNotFoundException ex) {
  83.       System.out.println("NOT FOUND:" + page);
  84.       return null;
  85.     } catch (ConnectException ex) {
  86.       System.out.println("Timeout:" + page);
  87.       return null;
  88.     } catch (Exception ex) {
  89.       ex.printStackTrace();
  90.       return null;
  91.     }
  92.   }
  93. }


另一个是html转码的类
  1. package com.laozizhu.blog.util;
  2. import java.util.HashMap;
  3. /**
  4.  * 替换HTMl里面的字符 e.g.: < > " å И 水
  5.  * 
  6.  *  @author 老紫竹 www.laozizhu.com
  7.  */
  8. public class MyHTMLDecoder {
  9.   public static final HashMap<String, Character> charTable;
  10.   public static String decode(String s) {
  11.     try {
  12.       String t;
  13.       Character ch;
  14.       int tmpPos, i;
  15.       int maxPos = s.length();
  16.       StringBuffer sb = new StringBuffer(maxPos);
  17.       int curPos = 0;
  18.       while (curPos < maxPos) {
  19.         char c = s.charAt(curPos++);
  20.         if (c == '&') {
  21.           tmpPos = curPos;
  22.           if (tmpPos < maxPos) {
  23.             char d = s.charAt(tmpPos++);
  24.             if (d == '#') {
  25.               if (tmpPos < maxPos) {
  26.                 d = s.charAt(tmpPos++);
  27.                 if ((d == 'x') || (d == 'X')) {
  28.                   if (tmpPos < maxPos) {
  29.                     d = s.charAt(tmpPos++);
  30.                     if (isHexDigit(d)) {
  31.                       while (tmpPos < maxPos) {
  32.                         d = s.charAt(tmpPos++);
  33.                         if (!isHexDigit(d)) {
  34.                           if (d == ';') {
  35.                             t = s.substring(curPos + 2, tmpPos - 1);
  36.                             try {
  37.                               i = Integer.parseInt(t, 16);
  38.                               if ((i >= 0) && (i < 65536)) {
  39.                                 c = (char) i;
  40.                                 curPos = tmpPos;
  41.                               }
  42.                             } catch (NumberFormatException e) {}
  43.                           }
  44.                           break;
  45.                         }
  46.                       }
  47.                     }
  48.                   }
  49.                 } else if (isDigit(d)) {
  50.                   while (tmpPos < maxPos) {
  51.                     d = s.charAt(tmpPos++);
  52.                     if (!isDigit(d)) {
  53.                       if (d == ';') {
  54.                         t = s.substring(curPos + 1, tmpPos - 1);
  55.                         try {
  56.                           i = Integer.parseInt(t);
  57.                           if ((i >= 0) && (i < 65536)) {
  58.                             c = (char) i;
  59.                             curPos = tmpPos;
  60.                           }
  61.                         } catch (NumberFormatException e) {}
  62.                       }
  63.                       break;
  64.                     }
  65.                   }
  66.                 }
  67.               }
  68.             } else if (isLetter(d)) {
  69.               while (tmpPos < maxPos) {
  70.                 d = s.charAt(tmpPos++);
  71.                 if (!isLetterOrDigit(d)) {
  72.                   if (d == ';') {
  73.                     t = s.substring(curPos, tmpPos - 1);
  74.                     ch = (Character) charTable.get(t);
  75.                     if (ch != null) {
  76.                       c = ch.charValue();
  77.                       curPos = tmpPos;
  78.                     }
  79.                   }
  80.                   break;
  81.                 }
  82.               }
  83.             }
  84.           }
  85.         }
  86.         sb.append(c);
  87.       }
  88.       return sb.toString();
  89.     } catch (Exception ex) {
  90.       return s;
  91.     }
  92.   }
  93.   private static boolean isLetterOrDigit(char c) {
  94.     return isLetter(c) || isDigit(c);
  95.   }
  96.   private static boolean isHexDigit(char c) {
  97.     return isHexLetter(c) || isDigit(c);
  98.   }
  99.   private static boolean isLetter(char c) {
  100.     return ((c >= 'a') && (c <= 'z')) || ((c >= 'A') && (c <= 'Z'));
  101.   }
  102.   private static boolean isHexLetter(char c) {
  103.     return ((c >= 'a') && (c <= 'f')) || ((c >= 'A') && (c <= 'F'));
  104.   }
  105.   private static boolean isDigit(char c) {
  106.     return (c >= '0') && (c <= '9');
  107.   }
  108.   public static String compact(String s) {
  109.     int maxPos = s.length();
  110.     StringBuffer sb = new StringBuffer(maxPos);
  111.     int curPos = 0;
  112.     while (curPos < maxPos) {
  113.       char c = s.charAt(curPos++);
  114.       if (isWhitespace(c)) {
  115.         while ((curPos < maxPos) && isWhitespace(s.charAt(curPos))) {
  116.           curPos++;
  117.         }
  118.         c = '/u0020';
  119.       }
  120.       sb.append(c);
  121.     }
  122.     return sb.toString();
  123.   }
  124.   // HTML is very particular about what constitutes white space.
  125.   public static boolean isWhitespace(char ch) {
  126.     return (ch == '/u0020') || (ch == '/r') || (ch == '/n') || (ch == '/u0009') || (ch == '/u000c') || (ch == '/u200b');
  127.   }
  128.   static {
  129.     charTable = new HashMap<String, Character>();
  130.     charTable.put("quot"new Character((char34));
  131.     charTable.put("amp"new Character((char38));
  132.     charTable.put("apos"new Character((char39));
  133.     charTable.put("lt"new Character((char60));
  134.     charTable.put("gt"new Character((char62));
  135.     charTable.put("nbsp"new Character((char160));
  136.     charTable.put("iexcl"new Character((char161));
  137.     charTable.put("cent"new Character((char162));
  138.     charTable.put("pound"new Character((char163));
  139.     charTable.put("curren"new Character((char164));
  140.     charTable.put("yen"new Character((char165));
  141.     charTable.put("brvbar"new Character((char166));
  142.     charTable.put("sect"new Character((char167));
  143.     charTable.put("uml"new Character((char168));
  144.     charTable.put("copy"new Character((char169));
  145.     charTable.put("ordf"new Character((char170));
  146.     charTable.put("laquo"new Character((char171));
  147.     charTable.put("not"new Character((char172));
  148.     charTable.put("shy"new Character((char173));
  149.     charTable.put("reg"new Character((char174));
  150.     charTable.put("macr"new Character((char175));
  151.     charTable.put("deg"new Character((char176));
  152.     charTable.put("plusmn"new Character((char177));
  153.     charTable.put("sup2"new Character((char178));
  154.     charTable.put("sup3"new Character((char179));
  155.     charTable.put("acute"new Character((char180));
  156.     charTable.put("micro"new Character((char181));
  157.     charTable.put("para"new Character((char182));
  158.     charTable.put("middot"new Character((char183));
  159.     charTable.put("cedil"new Character((char184));
  160.     charTable.put("sup1"new Character((char185));
  161.     charTable.put("ordm"new Character((char186));
  162.     charTable.put("raquo"new Character((char187));
  163.     charTable.put("frac14"new Character((char188));
  164.     charTable.put("frac12"new Character((char189));
  165.     charTable.put("frac34"new Character((char190));
  166.     charTable.put("iquest"new Character((char191));
  167.     charTable.put("Agrave"new Character((char192));
  168.     charTable.put("Aacute"new Character((char193));
  169.     charTable.put("Acirc"new Character((char194));
  170.     charTable.put("Atilde"new Character((char195));
  171.     charTable.put("Auml"new Character((char196));
  172.     charTable.put("Aring"new Character((char197));
  173.     charTable.put("AElig"new Character((char198));
  174.     charTable.put("Ccedil"new Character((char199));
  175.     charTable.put("Egrave"new Character((char200));
  176.     charTable.put("Eacute"new Character((char201));
  177.     charTable.put("Ecirc"new Character((char202));
  178.     charTable.put("Euml"new Character((char203));
  179.     charTable.put("Igrave"new Character((char204));
  180.     charTable.put("Iacute"new Character((char205));
  181.     charTable.put("Icirc"new Character((char206));
  182.     charTable.put("Iuml"new Character((char207));
  183.     charTable.put("ETH"new Character((char208));
  184.     charTable.put("Ntilde"new Character((char209));
  185.     charTable.put("Ograve"new Character((char210));
  186.     charTable.put("Oacute"new Character((char211));
  187.     charTable.put("Ocirc"new Character((char212));
  188.     charTable.put("Otilde"new Character((char213));
  189.     charTable.put("Ouml"new Character((char214));
  190.     charTable.put("times"new Character((char215));
  191.     charTable.put("Oslash"new Character((char216));
  192.     charTable.put("Ugrave"new Character((char217));
  193.     charTable.put("Uacute"new Character((char218));
  194.     charTable.put("Ucirc"new Character((char219));
  195.     charTable.put("Uuml"new Character((char220));
  196.     charTable.put("Yacute"new Character((char221));
  197.     charTable.put("THORN"new Character((char222));
  198.     charTable.put("szlig"new Character((char223));
  199.     charTable.put("agrave"new Character((char224));
  200.     charTable.put("aacute"new Character((char225));
  201.     charTable.put("acirc"new Character((char226));
  202.     charTable.put("atilde"new Character((char227));
  203.     charTable.put("auml"new Character((char228));
  204.     charTable.put("aring"new Character((char229));
  205.     charTable.put("aelig"new Character((char230));
  206.     charTable.put("ccedil"new Character((char231));
  207.     charTable.put("egrave"new Character((char232));
  208.     charTable.put("eacute"new Character((char233));
  209.     charTable.put("ecirc"new Character((char234));
  210.     charTable.put("euml"new Character((char235));
  211.     charTable.put("igrave"new Character((char236));
  212.     charTable.put("iacute"new Character((char237));
  213.     charTable.put("icirc"new Character((char238));
  214.     charTable.put("iuml"new Character((char239));
  215.     charTable.put("eth"new Character((char240));
  216.     charTable.put("ntilde"new Character((char241));
  217.     charTable.put("ograve"new Character((char242));
  218.     charTable.put("oacute"new Character((char243));
  219.     charTable.put("ocirc"new Character((char244));
  220.     charTable.put("otilde"new Character((char245));
  221.     charTable.put("ouml"new Character((char246));
  222.     charTable.put("divide"new Character((char247));
  223.     charTable.put("oslash"new Character((char248));
  224.     charTable.put("ugrave"new Character((char249));
  225.     charTable.put("uacute"new Character((char250));
  226.     charTable.put("ucirc"new Character((char251));
  227.     charTable.put("uuml"new Character((char252));
  228.     charTable.put("yacute"new Character((char253));
  229.     charTable.put("thorn"new Character((char254));
  230.     charTable.put("yuml"new Character((char255));
  231.     charTable.put("OElig"new Character((char338));
  232.     charTable.put("oelig"new Character((char339));
  233.     charTable.put("Scaron"new Character((char352));
  234.     charTable.put("scaron"new Character((char353));
  235.     charTable.put("fnof"new Character((char402));
  236.     charTable.put("circ"new Character((char710));
  237.     charTable.put("tilde"new Character((char732));
  238.     charTable.put("Alpha"new Character((char913));
  239.     charTable.put("Beta"new Character((char914));
  240.     charTable.put("Gamma"new Character((char915));
  241.     charTable.put("Delta"new Character((char916));
  242.     charTable.put("Epsilon"new Character((char917));
  243.     charTable.put("Zeta"new Character((char918));
  244.     charTable.put("Eta"new Character((char919));
  245.     charTable.put("Theta"new Character((char920));
  246.     charTable.put("Iota"new Character((char921));
  247.     charTable.put("Kappa"new Character((char922));
  248.     charTable.put("Lambda"new Character((char923));
  249.     charTable.put("Mu"new Character((char924));
  250.     charTable.put("Nu"new Character((char925));
  251.     charTable.put("Xi"new Character((char926));
  252.     charTable.put("Omicron"new Character((char927));
  253.     charTable.put("Pi"new Character((char928));
  254.     charTable.put("Rho"new Character((char929));
  255.     charTable.put("Sigma"new Character((char931));
  256.     charTable.put("Tau"new Character((char932));
  257.     charTable.put("Upsilon"new Character((char933));
  258.     charTable.put("Phi"new Character((char934));
  259.     charTable.put("Chi"new Character((char935));
  260.     charTable.put("Psi"new Character((char936));
  261.     charTable.put("Omega"new Character((char937));
  262.     charTable.put("alpha"new Character((char945));
  263.     charTable.put("beta"new Character((char946));
  264.     charTable.put("gamma"new Character((char947));
  265.     charTable.put("delta"new Character((char948));
  266.     charTable.put("epsilon"new Character((char949));
  267.     charTable.put("zeta"new Character((char950));
  268.     charTable.put("eta"new Character((char951));
  269.     charTable.put("theta"new Character((char952));
  270.     charTable.put("iota"new Character((char953));
  271.     charTable.put("kappa"new Character((char954));
  272.     charTable.put("lambda"new Character((char955));
  273.     charTable.put("mu"new Character((char956));
  274.     charTable.put("nu"new Character((char957));
  275.     charTable.put("xi"new Character((char958));
  276.     charTable.put("omicron"new Character((char959));
  277.     charTable.put("pi"new Character((char960));
  278.     charTable.put("rho"new Character((char961));
  279.     charTable.put("sigmaf"new Character((char962));
  280.     charTable.put("sigma"new Character((char963));
  281.     charTable.put("tau"new Character((char964));
  282.     charTable.put("upsilon"new Character((char965));
  283.     charTable.put("phi"new Character((char966));
  284.     charTable.put("chi"new Character((char967));
  285.     charTable.put("psi"new Character((char968));
  286.     charTable.put("omega"new Character((char969));
  287.     charTable.put("thetasym"new Character((char977));
  288.     charTable.put("upsih"new Character((char978));
  289.     charTable.put("piv"new Character((char982));
  290.     charTable.put("ensp"new Character((char8194));
  291.     charTable.put("emsp"new Character((char8195));
  292.     charTable.put("thinsp"new Character((char8201));
  293.     charTable.put("zwnj"new Character((char8204));
  294.     charTable.put("zwj"new Character((char8205));
  295.     charTable.put("lrm"new Character((char8206));
  296.     charTable.put("rlm"new Character((char8207));
  297.     charTable.put("ndash"new Character((char8211));
  298.     charTable.put("mdash"new Character((char8212));
  299.     charTable.put("lsquo"new Character((char8216));
  300.     charTable.put("rsquo"new Character((char8217));
  301.     charTable.put("sbquo"new Character((char8218));
  302.     charTable.put("ldquo"new Character((char8220));
  303.     charTable.put("rdquo"new Character((char8221));
  304.     charTable.put("bdquo"new Character((char8222));
  305.     charTable.put("dagger"new Character((char8224));
  306.     charTable.put("Dagger"new Character((char8225));
  307.     charTable.put("bull"new Character((char8226));
  308.     charTable.put("hellip"new Character((char8230));
  309.     charTable.put("permil"new Character((char8240));
  310.     charTable.put("prime"new Character((char8242));
  311.     charTable.put("Prime"new Character((char8243));
  312.     charTable.put("lsaquo"new Character((char8249));
  313.     charTable.put("rsaquo"new Character((char8250));
  314.     charTable.put("oline"new Character((char8254));
  315.     charTable.put("frasl"new Character((char8260));
  316.     charTable.put("euro"new Character((char8364));
  317.     charTable.put("image"new Character((char8465));
  318.     charTable.put("weierp"new Character((char8472));
  319.     charTable.put("real"new Character((char8476));
  320.     charTable.put("trade"new Character((char8482));
  321.     charTable.put("alefsym"new Character((char8501));
  322.     charTable.put("larr"new Character((char8592));
  323.     charTable.put("uarr"new Character((char8593));
  324.     charTable.put("rarr"new Character((char8594));
  325.     charTable.put("darr"new Character((char8595));
  326.     charTable.put("harr"new Character((char8596));
  327.     charTable.put("crarr"new Character((char8629));
  328.     charTable.put("lArr"new Character((char8656));
  329.     charTable.put("uArr"new Character((char8657));
  330.     charTable.put("rArr"new Character((char8658));
  331.     charTable.put("dArr"new Character((char8659));
  332.     charTable.put("hArr"new Character((char8660));
  333.     charTable.put("forall"new Character((char8704));
  334.     charTable.put("part"new Character((char8706));
  335.     charTable.put("exist"new Character((char8707));
  336.     charTable.put("empty"new Character((char8709));
  337.     charTable.put("nabla"new Character((char8711));
  338.     charTable.put("isin"new Character((char8712));
  339.     charTable.put("notin"new Character((char8713));
  340.     charTable.put("ni"new Character((char8715));
  341.     charTable.put("prod"new Character((char8719));
  342.     charTable.put("sum"new Character((char8721));
  343.     charTable.put("minus"new Character((char8722));
  344.     charTable.put("lowast"new Character((char8727));
  345.     charTable.put("radic"new Character((char8730));
  346.     charTable.put("prop"new Character((char8733));
  347.     charTable.put("infin"new Character((char8734));
  348.     charTable.put("ang"new Character((char8736));
  349.     charTable.put("and"new Character((char8743));
  350.     charTable.put("or"new Character((char8744));
  351.     charTable.put("cap"new Character((char8745));
  352.     charTable.put("cup"new Character((char8746));
  353.     charTable.put("int"new Character((char8747));
  354.     charTable.put("there4"new Character((char8756));
  355.     charTable.put("sim"new Character((char8764));
  356.     charTable.put("cong"new Character((char8773));
  357.     charTable.put("asymp"new Character((char8776));
  358.     charTable.put("ne"new Character((char8800));
  359.     charTable.put("equiv"new Character((char8801));
  360.     charTable.put("le"new Character((char8804));
  361.     charTable.put("ge"new Character((char8805));
  362.     charTable.put("sub"new Character((char8834));
  363.     charTable.put("sup"new Character((char8835));
  364.     charTable.put("nsub"new Character((char8836));
  365.     charTable.put("sube"new Character((char8838));
  366.     charTable.put("supe"new Character((char8839));
  367.     charTable.put("oplus"new Character((char8853));
  368.     charTable.put("otimes"new Character((char8855));
  369.     charTable.put("perp"new Character((char8869));
  370.     charTable.put("sdot"new Character((char8901));
  371.     charTable.put("lceil"new Character((char8968));
  372.     charTable.put("rceil"new Character((char8969));
  373.     charTable.put("lfloor"new Character((char8970));
  374.     charTable.put("rfloor"new Character((char8971));
  375.     charTable.put("lang"new Character((char9001));
  376.     charTable.put("rang"new Character((char9002));
  377.     charTable.put("loz"new Character((char9674));
  378.     charTable.put("spades"new Character((char9824));
  379.     charTable.put("clubs"new Character((char9827));
  380.     charTable.put("hearts"new Character((char9829));
  381.     charTable.put("diams"new Character((char9830));
  382.   }
  383. }

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值