testurldecoder.java

来自「本书是一本为Java学习者在基础内容学习结束后进行课程设计时提供参考的指导书」· Java 代码 · 共 58 行

JAVA
58
字号
package apibook.c5.s1;import java.net.*;import java.util.*;//测试URLDecoder类public class TestURLDecoder {  public TestURLDecoder() {  }  public static void main(String[] args) {    //创建新的入口    Map m = new HashMap();    m.put("com|163", "www.163.com");    m.put("dst(p, q)", "sqrt((q.x-p.x)^2+(q.y-p.y)^2)");    // 编码    String data = encode(m);    System.out.println(data);    try {        m = decode(data);        System.out.println(m);    } catch (Exception e) {        e.printStackTrace();    }  }  public static String encode(Map m) {      int count = 0;      StringBuffer buf = new StringBuffer();      for (Iterator it=m.keySet().iterator(); it.hasNext(); count++) {          String key = (String)it.next();          if (count > 0) {              buf.append('&');          }          buf.append(URLEncoder.encode(key)+"="+              URLEncoder.encode((String)m.get(key)));      }      return new String(buf);  }  //编码字符串  public static Map decode(String s) throws IllegalArgumentException {      Map m = new HashMap();      try {          StringTokenizer st = new StringTokenizer(s, "&");          while (st.hasMoreElements()) {              s = (String)st.nextElement();              String key = URLDecoder.decode(s.substring(0, s.indexOf('=')));              String value = URLDecoder.decode(s.substring(s.indexOf('=')+1));              m.put(key, value);          }      } catch (Exception e) {          throw new IllegalArgumentException();      }      return m;  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?