📄 testurldecoder.java
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -