有好多群,懒得随时更新群的状态,特别是当前人数这个经常变的东西。这里根据QQ的一个API程序,读取状态,直接看看代码吧。
读取的接口程序和测试代码!
- package com.laozizhu.blog.util;
- import java.io.Reader;
- import java.io.StringReader;
- import java.util.List;
- import org.jdom.Document;
- import org.jdom.Element;
- import org.jdom.input.SAXBuilder;
- /**
- * 读取的接口程序。
- *
- * @author 老紫竹 www.laozizhu.com
- */
- public class QQGroupBaseInfoAPI {
- public static QQGroupBaseInfo get(String id) {
- try {
- String textXml = PageService.getPage("http://group.qq.com/cgi-bin/groupbaseinfo?groupid=" + id, "GBK");
- char c = 0x1d;
- String s = String.valueOf(c);
- textXml = textXml.replaceAll(s, "");
- SAXBuilder builder = new SAXBuilder();
- Document doc = null;
- Reader in = new StringReader(textXml);
- doc = builder.build(in);
- Element root = doc.getRootElement(); // 拿到 date
- List date = root.getChildren(); // 下一级数据
- Element result = (Element) date.get(0); // 结果标志
- if (!"0".equals(result.getTextTrim())) {
- System.out.println("没找到" + id);
- return null; // 没找到
- }
- Element item = (Element) date.get(1);
- QQGroupBaseInfo o = new QQGroupBaseInfo();
- o.setLogo(MyHTMLDecoder.decode(item.getChildTextTrim("logo")));
- o.setMemo(MyHTMLDecoder.decode(item.getChildTextTrim("memo")));
- o.setMale(MyHTMLDecoder.decode(item.getChildTextTrim("male")));
- o.setFemale(MyHTMLDecoder.decode(item.getChildTextTrim("female")));
- o.setRank(MyHTMLDecoder.decode(item.getChildTextTrim("rank")));
- o.setGroupId(MyHTMLDecoder.decode(item.getChildTextTrim("groupid")));
- o.setGroupType(MyHTMLDecoder.decode(item.getChildTextTrim("grouptype")));
- o.setGroupOption(MyHTMLDecoder.decode(item.getChildTextTrim("logo")));
- o.setBrief(MyHTMLDecoder.decode(item.getChildTextTrim("brief")));
- o.setGroupClass(MyHTMLDecoder.decode(item.getChildTextTrim("groupclass")));
- o.setCreator(MyHTMLDecoder.decode(item.getChildTextTrim("creator")));
- o.setUin(MyHTMLDecoder.decode(item.getChildTextTrim("uin")));
- o.setFaceId(MyHTMLDecoder.decode(item.getChildTextTrim("faceid")));
- o.setCreateTime(MyHTMLDecoder.decode(item.getChildTextTrim("crttime")));
- o.setGroupStatus(MyHTMLDecoder.decode(item.getChildTextTrim("gpstatus")));
- o.setClassName(MyHTMLDecoder.decode(item.getChildTextTrim("class")));
- o.setFlag(Long.parseLong(item.getChildTextTrim("flag")));
- o.setTotal(Integer.parseInt(item.getChildTextTrim("total")));
- o.setGuestDeny(Integer.parseInt(item.getChildTextTrim("guestdeny")));
- o.setMemberMax(Integer.parseInt(item.getChildTextTrim("membermax")));
- o.setGroupFace(Integer.parseInt(item.getChildTextTrim("groupface")));
- o.setGroupName(MyHTMLDecoder.decode(item.getChildTextTrim("groupname")));
- o.setOpen(Integer.parseInt(item.getChildTextTrim("isopen")) == 1);
- o.setOpen(Integer.parseInt(item.getChildTextTrim("isopen")) == 1);
- o.setCloseExpire(Integer.parseInt(item.getChildTextTrim("iscloseexpire")) == 1);
- o.setSuperExpireDate(MyHTMLDecoder.decode(item.getChildTextTrim("superexpiredate")));
- return o;
- } catch (Exception ex) {
- ex.printStackTrace();
- return null;
- }
- }
- /**
- * @param args
- */
- public static void main(String[] args) {
- QQGroupBaseInfo o = get("56763840");
- System.out.println(o.getTotal());
- System.out.println(o.getMemberMax());
- }
- }
读取的接口信息
- package com.laozizhu.blog.util;
- /**
- * QQ的基础信息。
- *
- * @author 老紫竹 www.laozizhu.com
- */
- public class QQGroupBaseInfo {
- // 图标
- private String logo;
- // 公告
- private String memo;
- private String male;
- private String female;
- private String rank;
- // 群号
- private String groupId;
- private String groupType;
- private String groupOption;
- // 简介
- private String brief;
- private String groupClass;
- private String groupClassEx;
- // 创建人
- private String creator;
- // 创建人的号码
- private String uin;
- private String faceId;
- private String createTime;
- // 是否为高级群
- private String groupStatus;
- // 分类,比如软件交流
- private String className;
- private long flag;
- // 当前总人数
- private int total;
- private int guestDeny;
- // 最高人数
- private int memberMax;
- private int groupFace;
- // 群名字
- private String groupName;
- private boolean open;
- private boolean mem;
- private boolean closeExpire;
- // 高级群过期日期
- private String superExpireDate;
- public String getLogo() {
- return logo;
- }
- public void setLogo(String logo) {
- this.logo = logo;
- }
- public String getMemo() {
- return memo;
- }
- public void setMemo(String memo) {
- this.memo = memo;
- }
- public String getGroupId() {
- return groupId;
- }
- public void setGroupId(String groupId) {
- this.groupId = groupId;
- }
- public String getGroupType() {
- return groupType;
- }
- public void setGroupType(String groupType) {
- this.groupType = groupType;
- }
- public String getGroupOption() {
- return groupOption;
- }
- public void setGroupOption(String groupOption) {
- this.groupOption = groupOption;
- }
- public String getGroupClass() {
- return groupClass;
- }
- public void setGroupClass(String groupClass) {
- this.groupClass = groupClass;
- }
- public String getGroupClassEx() {
- return groupClassEx;
- }
- public void setGroupClassEx(String groupClassEx) {
- this.groupClassEx = groupClassEx;
- }
- public String getBrief() {
- return brief;
- }
- public void setBrief(String brief) {
- this.brief = brief;
- }
- public String getCreator() {
- return creator;
- }
- public void setCreator(String creator) {
- this.creator = creator;
- }
- public String getUin() {
- return uin;
- }
- public void setUin(String uin) {
- this.uin = uin;
- }
- public String getClassName() {
- return className;
- }
- public void setClassName(String className) {
- this.className = className;
- }
- public long getFlag() {
- return flag;
- }
- public void setFlag(long flag) {
- this.flag = flag;
- }
- public int getTotal() {
- return total;
- }
- public void setTotal(int total) {
- this.total = total;
- }
- public int getGuestDeny() {
- return guestDeny;
- }
- public void setGuestDeny(int guestDeny) {
- this.guestDeny = guestDeny;
- }
- public int getMemberMax() {
- return memberMax;
- }
- public void setMemberMax(int memberMax) {
- this.memberMax = memberMax;
- }
- public int getGroupFace() {
- return groupFace;
- }
- public void setGroupFace(int groupFace) {
- this.groupFace = groupFace;
- }
- public String getGroupName() {
- return groupName;
- }
- public void setGroupName(String groupName) {
- this.groupName = groupName;
- }
- public boolean isOpen() {
- return open;
- }
- public void setOpen(boolean open) {
- this.open = open;
- }
- public boolean isMem() {
- return mem;
- }
- public void setMem(boolean mem) {
- this.mem = mem;
- }
- public boolean isCloseExpire() {
- return closeExpire;
- }
- public void setCloseExpire(boolean closeExpire) {
- this.closeExpire = closeExpire;
- }
- public String getMale() {
- return male;
- }
- public void setMale(String male) {
- this.male = male;
- }
- public String getFemale() {
- return female;
- }
- public void setFemale(String female) {
- this.female = female;
- }
- public String getRank() {
- return rank;
- }
- public void setRank(String rank) {
- this.rank = rank;
- }
- public String getFaceId() {
- return faceId;
- }
- public void setFaceId(String faceId) {
- this.faceId = faceId;
- }
- public String getCreateTime() {
- return createTime;
- }
- public void setCreateTime(String createTime) {
- this.createTime = createTime;
- }
- public String getGroupStatus() {
- return groupStatus;
- }
- public void setGroupStatus(String groupStatus) {
- this.groupStatus = groupStatus;
- }
- public String getSuperExpireDate() {
- return superExpireDate;
- }
- public void setSuperExpireDate(String superExpireDate) {
- this.superExpireDate = superExpireDate;
- }
- }
后面是2个工具类,一个是读取页面的代码
- package com.laozizhu.blog.util;
- import java.io.BufferedReader;
- import java.io.FileNotFoundException;
- import java.io.InputStreamReader;
- import java.net.ConnectException;
- import java.net.HttpURLConnection;
- import java.net.URL;
- /**
- * 读取URL的文本
- *
- * @author 老紫竹 www.laozizhu.com
- */
- public class PageService {
- /**
- * 读取文本。默认使用UTF-8编码
- *
- * @param page 页面的URL,比如 http://www.java2000.net
- * @return 读取到的文本字符串
- */
- public static String getPage(String page) {
- return getPage(page, "UTF-8");
- }
- /**
- * 读取文本
- *
- * @param page 页面的URL,比如 http://www.java2000.net
- * @param charset 页面的编码
- * @return 读取到的文本字符串
- */
- public static String getPage(String page, String charset) {
- String str = null;
- int count = 3;
- do {
- str = _getPage(page, charset, null);
- if (str == null || str.length() == 0) {
- try {
- Thread.sleep(1000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- } while (str == null && count-- > 0);
- return str;
- }
- public static String getPage(String page, String charset, String cookies) {
- String str = null;
- int count = 3;
- do {
- str = _getPage(page, charset, cookies);
- if (str == null || str.length() == 0) {
- try {
- Thread.sleep(1000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- } while (str == null && count-- > 0);
- return str;
- }
- /**
- * 读取页面信息
- *
- * @param page 页面的URL
- * @param charset 页面的编码类型
- * @return 页面的字符串,注意换行已经被默认去掉了,如果需要,请看代码的注释部分
- */
- private static String _getPage(String page, String charset, String cookies) {
- try {
- URL url = new URL(page);
- HttpURLConnection con = (HttpURLConnection) url.openConnection();
- if (cookies != null) {
- con.addRequestProperty("Cookie", cookies);
- }
- BufferedReader reader = new BufferedReader(new InputStreamReader(con.getInputStream(), charset));
- StringBuilder b = new StringBuilder();
- String line;
- while ((line = reader.readLine()) != null) {
- b.append(line);
- b.append("/r/n"); // 默认这里没有保存换行,而是让所有的字符出现在一行里面。如果需要,请去掉前面的注释
- }
- return b.toString();
- } catch (FileNotFoundException ex) {
- System.out.println("NOT FOUND:" + page);
- return null;
- } catch (ConnectException ex) {
- System.out.println("Timeout:" + page);
- return null;
- } catch (Exception ex) {
- ex.printStackTrace();
- return null;
- }
- }
- }
另一个是html转码的类
- package com.laozizhu.blog.util;
- import java.util.HashMap;
- /**
- * 替换HTMl里面的字符 e.g.: < > " å И 水
- *
- * @author 老紫竹 www.laozizhu.com
- */
- public class MyHTMLDecoder {
- public static final HashMap<String, Character> charTable;
- public static String decode(String s) {
- try {
- String t;
- Character ch;
- int tmpPos, i;
- int maxPos = s.length();
- StringBuffer sb = new StringBuffer(maxPos);
- int curPos = 0;
- while (curPos < maxPos) {
- char c = s.charAt(curPos++);
- if (c == '&') {
- tmpPos = curPos;
- if (tmpPos < maxPos) {
- char d = s.charAt(tmpPos++);
- if (d == '#') {
- if (tmpPos < maxPos) {
- d = s.charAt(tmpPos++);
- if ((d == 'x') || (d == 'X')) {
- if (tmpPos < maxPos) {
- d = s.charAt(tmpPos++);
- if (isHexDigit(d)) {
- while (tmpPos < maxPos) {
- d = s.charAt(tmpPos++);
- if (!isHexDigit(d)) {
- if (d == ';') {
- t = s.substring(curPos + 2, tmpPos - 1);
- try {
- i = Integer.parseInt(t, 16);
- if ((i >= 0) && (i < 65536)) {
- c = (char) i;
- curPos = tmpPos;
- }
- } catch (NumberFormatException e) {}
- }
- break;
- }
- }
- }
- }
- } else if (isDigit(d)) {
- while (tmpPos < maxPos) {
- d = s.charAt(tmpPos++);
- if (!isDigit(d)) {
- if (d == ';') {
- t = s.substring(curPos + 1, tmpPos - 1);
- try {
- i = Integer.parseInt(t);
- if ((i >= 0) && (i < 65536)) {
- c = (char) i;
- curPos = tmpPos;
- }
- } catch (NumberFormatException e) {}
- }
- break;
- }
- }
- }
- }
- } else if (isLetter(d)) {
- while (tmpPos < maxPos) {
- d = s.charAt(tmpPos++);
- if (!isLetterOrDigit(d)) {
- if (d == ';') {
- t = s.substring(curPos, tmpPos - 1);
- ch = (Character) charTable.get(t);
- if (ch != null) {
- c = ch.charValue();
- curPos = tmpPos;
- }
- }
- break;
- }
- }
- }
- }
- }
- sb.append(c);
- }
- return sb.toString();
- } catch (Exception ex) {
- return s;
- }
- }
- private static boolean isLetterOrDigit(char c) {
- return isLetter(c) || isDigit(c);
- }
- private static boolean isHexDigit(char c) {
- return isHexLetter(c) || isDigit(c);
- }
- private static boolean isLetter(char c) {
- return ((c >= 'a') && (c <= 'z')) || ((c >= 'A') && (c <= 'Z'));
- }
- private static boolean isHexLetter(char c) {
- return ((c >= 'a') && (c <= 'f')) || ((c >= 'A') && (c <= 'F'));
- }
- private static boolean isDigit(char c) {
- return (c >= '0') && (c <= '9');
- }
- public static String compact(String s) {
- int maxPos = s.length();
- StringBuffer sb = new StringBuffer(maxPos);
- int curPos = 0;
- while (curPos < maxPos) {
- char c = s.charAt(curPos++);
- if (isWhitespace(c)) {
- while ((curPos < maxPos) && isWhitespace(s.charAt(curPos))) {
- curPos++;
- }
- c = '/u0020';
- }
- sb.append(c);
- }
- return sb.toString();
- }
- // HTML is very particular about what constitutes white space.
- public static boolean isWhitespace(char ch) {
- return (ch == '/u0020') || (ch == '/r') || (ch == '/n') || (ch == '/u0009') || (ch == '/u000c') || (ch == '/u200b');
- }
- static {
- charTable = new HashMap<String, Character>();
- charTable.put("quot", new Character((char) 34));
- charTable.put("amp", new Character((char) 38));
- charTable.put("apos", new Character((char) 39));
- charTable.put("lt", new Character((char) 60));
- charTable.put("gt", new Character((char) 62));
- charTable.put("nbsp", new Character((char) 160));
- charTable.put("iexcl", new Character((char) 161));
- charTable.put("cent", new Character((char) 162));
- charTable.put("pound", new Character((char) 163));
- charTable.put("curren", new Character((char) 164));
- charTable.put("yen", new Character((char) 165));
- charTable.put("brvbar", new Character((char) 166));
- charTable.put("sect", new Character((char) 167));
- charTable.put("uml", new Character((char) 168));
- charTable.put("copy", new Character((char) 169));
- charTable.put("ordf", new Character((char) 170));
- charTable.put("laquo", new Character((char) 171));
- charTable.put("not", new Character((char) 172));
- charTable.put("shy", new Character((char) 173));
- charTable.put("reg", new Character((char) 174));
- charTable.put("macr", new Character((char) 175));
- charTable.put("deg", new Character((char) 176));
- charTable.put("plusmn", new Character((char) 177));
- charTable.put("sup2", new Character((char) 178));
- charTable.put("sup3", new Character((char) 179));
- charTable.put("acute", new Character((char) 180));
- charTable.put("micro", new Character((char) 181));
- charTable.put("para", new Character((char) 182));
- charTable.put("middot", new Character((char) 183));
- charTable.put("cedil", new Character((char) 184));
- charTable.put("sup1", new Character((char) 185));
- charTable.put("ordm", new Character((char) 186));
- charTable.put("raquo", new Character((char) 187));
- charTable.put("frac14", new Character((char) 188));
- charTable.put("frac12", new Character((char) 189));
- charTable.put("frac34", new Character((char) 190));
- charTable.put("iquest", new Character((char) 191));
- charTable.put("Agrave", new Character((char) 192));
- charTable.put("Aacute", new Character((char) 193));
- charTable.put("Acirc", new Character((char) 194));
- charTable.put("Atilde", new Character((char) 195));
- charTable.put("Auml", new Character((char) 196));
- charTable.put("Aring", new Character((char) 197));
- charTable.put("AElig", new Character((char) 198));
- charTable.put("Ccedil", new Character((char) 199));
- charTable.put("Egrave", new Character((char) 200));
- charTable.put("Eacute", new Character((char) 201));
- charTable.put("Ecirc", new Character((char) 202));
- charTable.put("Euml", new Character((char) 203));
- charTable.put("Igrave", new Character((char) 204));
- charTable.put("Iacute", new Character((char) 205));
- charTable.put("Icirc", new Character((char) 206));
- charTable.put("Iuml", new Character((char) 207));
- charTable.put("ETH", new Character((char) 208));
- charTable.put("Ntilde", new Character((char) 209));
- charTable.put("Ograve", new Character((char) 210));
- charTable.put("Oacute", new Character((char) 211));
- charTable.put("Ocirc", new Character((char) 212));
- charTable.put("Otilde", new Character((char) 213));
- charTable.put("Ouml", new Character((char) 214));
- charTable.put("times", new Character((char) 215));
- charTable.put("Oslash", new Character((char) 216));
- charTable.put("Ugrave", new Character((char) 217));
- charTable.put("Uacute", new Character((char) 218));
- charTable.put("Ucirc", new Character((char) 219));
- charTable.put("Uuml", new Character((char) 220));
- charTable.put("Yacute", new Character((char) 221));
- charTable.put("THORN", new Character((char) 222));
- charTable.put("szlig", new Character((char) 223));
- charTable.put("agrave", new Character((char) 224));
- charTable.put("aacute", new Character((char) 225));
- charTable.put("acirc", new Character((char) 226));
- charTable.put("atilde", new Character((char) 227));
- charTable.put("auml", new Character((char) 228));
- charTable.put("aring", new Character((char) 229));
- charTable.put("aelig", new Character((char) 230));
- charTable.put("ccedil", new Character((char) 231));
- charTable.put("egrave", new Character((char) 232));
- charTable.put("eacute", new Character((char) 233));
- charTable.put("ecirc", new Character((char) 234));
- charTable.put("euml", new Character((char) 235));
- charTable.put("igrave", new Character((char) 236));
- charTable.put("iacute", new Character((char) 237));
- charTable.put("icirc", new Character((char) 238));
- charTable.put("iuml", new Character((char) 239));
- charTable.put("eth", new Character((char) 240));
- charTable.put("ntilde", new Character((char) 241));
- charTable.put("ograve", new Character((char) 242));
- charTable.put("oacute", new Character((char) 243));
- charTable.put("ocirc", new Character((char) 244));
- charTable.put("otilde", new Character((char) 245));
- charTable.put("ouml", new Character((char) 246));
- charTable.put("divide", new Character((char) 247));
- charTable.put("oslash", new Character((char) 248));
- charTable.put("ugrave", new Character((char) 249));
- charTable.put("uacute", new Character((char) 250));
- charTable.put("ucirc", new Character((char) 251));
- charTable.put("uuml", new Character((char) 252));
- charTable.put("yacute", new Character((char) 253));
- charTable.put("thorn", new Character((char) 254));
- charTable.put("yuml", new Character((char) 255));
- charTable.put("OElig", new Character((char) 338));
- charTable.put("oelig", new Character((char) 339));
- charTable.put("Scaron", new Character((char) 352));
- charTable.put("scaron", new Character((char) 353));
- charTable.put("fnof", new Character((char) 402));
- charTable.put("circ", new Character((char) 710));
- charTable.put("tilde", new Character((char) 732));
- charTable.put("Alpha", new Character((char) 913));
- charTable.put("Beta", new Character((char) 914));
- charTable.put("Gamma", new Character((char) 915));
- charTable.put("Delta", new Character((char) 916));
- charTable.put("Epsilon", new Character((char) 917));
- charTable.put("Zeta", new Character((char) 918));
- charTable.put("Eta", new Character((char) 919));
- charTable.put("Theta", new Character((char) 920));
- charTable.put("Iota", new Character((char) 921));
- charTable.put("Kappa", new Character((char) 922));
- charTable.put("Lambda", new Character((char) 923));
- charTable.put("Mu", new Character((char) 924));
- charTable.put("Nu", new Character((char) 925));
- charTable.put("Xi", new Character((char) 926));
- charTable.put("Omicron", new Character((char) 927));
- charTable.put("Pi", new Character((char) 928));
- charTable.put("Rho", new Character((char) 929));
- charTable.put("Sigma", new Character((char) 931));
- charTable.put("Tau", new Character((char) 932));
- charTable.put("Upsilon", new Character((char) 933));
- charTable.put("Phi", new Character((char) 934));
- charTable.put("Chi", new Character((char) 935));
- charTable.put("Psi", new Character((char) 936));
- charTable.put("Omega", new Character((char) 937));
- charTable.put("alpha", new Character((char) 945));
- charTable.put("beta", new Character((char) 946));
- charTable.put("gamma", new Character((char) 947));
- charTable.put("delta", new Character((char) 948));
- charTable.put("epsilon", new Character((char) 949));
- charTable.put("zeta", new Character((char) 950));
- charTable.put("eta", new Character((char) 951));
- charTable.put("theta", new Character((char) 952));
- charTable.put("iota", new Character((char) 953));
- charTable.put("kappa", new Character((char) 954));
- charTable.put("lambda", new Character((char) 955));
- charTable.put("mu", new Character((char) 956));
- charTable.put("nu", new Character((char) 957));
- charTable.put("xi", new Character((char) 958));
- charTable.put("omicron", new Character((char) 959));
- charTable.put("pi", new Character((char) 960));
- charTable.put("rho", new Character((char) 961));
- charTable.put("sigmaf", new Character((char) 962));
- charTable.put("sigma", new Character((char) 963));
- charTable.put("tau", new Character((char) 964));
- charTable.put("upsilon", new Character((char) 965));
- charTable.put("phi", new Character((char) 966));
- charTable.put("chi", new Character((char) 967));
- charTable.put("psi", new Character((char) 968));
- charTable.put("omega", new Character((char) 969));
- charTable.put("thetasym", new Character((char) 977));
- charTable.put("upsih", new Character((char) 978));
- charTable.put("piv", new Character((char) 982));
- charTable.put("ensp", new Character((char) 8194));
- charTable.put("emsp", new Character((char) 8195));
- charTable.put("thinsp", new Character((char) 8201));
- charTable.put("zwnj", new Character((char) 8204));
- charTable.put("zwj", new Character((char) 8205));
- charTable.put("lrm", new Character((char) 8206));
- charTable.put("rlm", new Character((char) 8207));
- charTable.put("ndash", new Character((char) 8211));
- charTable.put("mdash", new Character((char) 8212));
- charTable.put("lsquo", new Character((char) 8216));
- charTable.put("rsquo", new Character((char) 8217));
- charTable.put("sbquo", new Character((char) 8218));
- charTable.put("ldquo", new Character((char) 8220));
- charTable.put("rdquo", new Character((char) 8221));
- charTable.put("bdquo", new Character((char) 8222));
- charTable.put("dagger", new Character((char) 8224));
- charTable.put("Dagger", new Character((char) 8225));
- charTable.put("bull", new Character((char) 8226));
- charTable.put("hellip", new Character((char) 8230));
- charTable.put("permil", new Character((char) 8240));
- charTable.put("prime", new Character((char) 8242));
- charTable.put("Prime", new Character((char) 8243));
- charTable.put("lsaquo", new Character((char) 8249));
- charTable.put("rsaquo", new Character((char) 8250));
- charTable.put("oline", new Character((char) 8254));
- charTable.put("frasl", new Character((char) 8260));
- charTable.put("euro", new Character((char) 8364));
- charTable.put("image", new Character((char) 8465));
- charTable.put("weierp", new Character((char) 8472));
- charTable.put("real", new Character((char) 8476));
- charTable.put("trade", new Character((char) 8482));
- charTable.put("alefsym", new Character((char) 8501));
- charTable.put("larr", new Character((char) 8592));
- charTable.put("uarr", new Character((char) 8593));
- charTable.put("rarr", new Character((char) 8594));
- charTable.put("darr", new Character((char) 8595));
- charTable.put("harr", new Character((char) 8596));
- charTable.put("crarr", new Character((char) 8629));
- charTable.put("lArr", new Character((char) 8656));
- charTable.put("uArr", new Character((char) 8657));
- charTable.put("rArr", new Character((char) 8658));
- charTable.put("dArr", new Character((char) 8659));
- charTable.put("hArr", new Character((char) 8660));
- charTable.put("forall", new Character((char) 8704));
- charTable.put("part", new Character((char) 8706));
- charTable.put("exist", new Character((char) 8707));
- charTable.put("empty", new Character((char) 8709));
- charTable.put("nabla", new Character((char) 8711));
- charTable.put("isin", new Character((char) 8712));
- charTable.put("notin", new Character((char) 8713));
- charTable.put("ni", new Character((char) 8715));
- charTable.put("prod", new Character((char) 8719));
- charTable.put("sum", new Character((char) 8721));
- charTable.put("minus", new Character((char) 8722));
- charTable.put("lowast", new Character((char) 8727));
- charTable.put("radic", new Character((char) 8730));
- charTable.put("prop", new Character((char) 8733));
- charTable.put("infin", new Character((char) 8734));
- charTable.put("ang", new Character((char) 8736));
- charTable.put("and", new Character((char) 8743));
- charTable.put("or", new Character((char) 8744));
- charTable.put("cap", new Character((char) 8745));
- charTable.put("cup", new Character((char) 8746));
- charTable.put("int", new Character((char) 8747));
- charTable.put("there4", new Character((char) 8756));
- charTable.put("sim", new Character((char) 8764));
- charTable.put("cong", new Character((char) 8773));
- charTable.put("asymp", new Character((char) 8776));
- charTable.put("ne", new Character((char) 8800));
- charTable.put("equiv", new Character((char) 8801));
- charTable.put("le", new Character((char) 8804));
- charTable.put("ge", new Character((char) 8805));
- charTable.put("sub", new Character((char) 8834));
- charTable.put("sup", new Character((char) 8835));
- charTable.put("nsub", new Character((char) 8836));
- charTable.put("sube", new Character((char) 8838));
- charTable.put("supe", new Character((char) 8839));
- charTable.put("oplus", new Character((char) 8853));
- charTable.put("otimes", new Character((char) 8855));
- charTable.put("perp", new Character((char) 8869));
- charTable.put("sdot", new Character((char) 8901));
- charTable.put("lceil", new Character((char) 8968));
- charTable.put("rceil", new Character((char) 8969));
- charTable.put("lfloor", new Character((char) 8970));
- charTable.put("rfloor", new Character((char) 8971));
- charTable.put("lang", new Character((char) 9001));
- charTable.put("rang", new Character((char) 9002));
- charTable.put("loz", new Character((char) 9674));
- charTable.put("spades", new Character((char) 9824));
- charTable.put("clubs", new Character((char) 9827));
- charTable.put("hearts", new Character((char) 9829));
- charTable.put("diams", new Character((char) 9830));
- }
- }