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

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

?? parameterlist.java

?? java Email you can use it to send email to others
?? JAVA
?? 第 1 頁 / 共 2 頁
字號(hào):
				    break;				}				value = vv.value = decodeBytes(evalue, charset);			    }			} catch (NumberFormatException nex) {			    if (decodeParametersStrict)				throw new ParseException(nex.toString());			} catch (UnsupportedEncodingException uex) {			    if (decodeParametersStrict)				throw new ParseException(uex.toString());			} catch (StringIndexOutOfBoundsException ex) {			    if (decodeParametersStrict)				throw new ParseException(ex.toString());			}			// if anything went wrong decoding the value,			// we just use the original value (set above)		    } else {			value = (String)v;		    }		    sb.append(value);		    slist.remove(sname);		}		if (segment == 0) {		    // didn't find any segments at all		    list.remove(name);		} else {		    mv.value = sb.toString();		    list.put(name, mv);		}	    }	    success = true;	} finally {	    /*	     * If we get here because of an exception that's going to	     * be thrown (success == false) from the constructor	     * (keepConsistentOnFailure == false), this is all wasted effort.	     */	    if (keepConsistentOnFailure || success)  {		// we should never end up with anything in slist,		// but if we do, add it all to list		if (slist.size() > 0) {		    // first, decode any values that we'll add to the list		    Iterator sit = slist.values().iterator();		    while (sit.hasNext()) {			Object v = sit.next();			if (v instanceof Value) {			    Value vv = (Value)v;			    Value vnew = decodeValue(vv.encodedValue);			    vv.charset = vnew.charset;			    vv.value = vnew.value;			}		    }		    list.putAll(slist);		}		// clear out the set of names and segments		multisegmentNames.clear();		slist.clear();	    }	}    }    /**     * Return the number of parameters in this list.     *      * @return  number of parameters.     */    public int size() {	return list.size();    }    /**     * Returns the value of the specified parameter. Note that      * parameter names are case-insensitive.     *     * @param name	parameter name.     * @return		Value of the parameter. Returns      *			<code>null</code> if the parameter is not      *			present.     */    public String get(String name) {	String value;	Object v = list.get(name.trim().toLowerCase(Locale.ENGLISH));	if (v instanceof MultiValue)	    value = ((MultiValue)v).value;	else if (v instanceof Value)	    value = ((Value)v).value;	else	    value = (String)v;	return value;    }    /**     * Set a parameter. If this parameter already exists, it is     * replaced by this new value.     *     * @param	name 	name of the parameter.     * @param	value	value of the parameter.     */    public void set(String name, String value) {	// XXX - an incredible kludge used by the IMAP provider	// to indicate that it's done setting parameters	if (name == null && value != null && value.equals("DONE")) {	    /*	     * If we've accumulated any multi-segment names from calls to	     * the set method from the IMAP provider, combine the pieces.	     * Ignore any parse errors (e.g., from decoding the values)	     * because it's too late to report them.	     */	    if (decodeParameters && multisegmentNames.size() > 0) {		try {		    combineMultisegmentNames(true);		} catch (ParseException pex) {		    // too late to do anything about it		}	    }	    return;	}	name = name.trim().toLowerCase(Locale.ENGLISH);	if (decodeParameters) {	    try {		putEncodedName(name, value);	    } catch (ParseException pex) {		// ignore it		list.put(name, value);	    }	} else	    list.put(name, value);    }    /**     * Set a parameter. If this parameter already exists, it is     * replaced by this new value.  If the     * <code>mail.mime.encodeparameters</code> System property     * is true, and the parameter value is non-ASCII, it will be     * encoded with the specified charset, as specified by RFC 2231.     *     * @param	name 	name of the parameter.     * @param	value	value of the parameter.     * @param	charset	charset of the parameter value.     * @since	JavaMail 1.4     */    public void set(String name, String value, String charset) {	if (encodeParameters) {	    Value ev = encodeValue(value, charset);	    // was it actually encoded?	    if (ev != null)		list.put(name.trim().toLowerCase(Locale.ENGLISH), ev);	    else		set(name, value);	} else	    set(name, value);    }    /**     * Removes the specified parameter from this ParameterList.     * This method does nothing if the parameter is not present.     *     * @param	name	name of the parameter.     */    public void remove(String name) {	list.remove(name.trim().toLowerCase(Locale.ENGLISH));    }    /**     * Return an enumeration of the names of all parameters in this     * list.     *     * @return Enumeration of all parameter names in this list.     */    public Enumeration getNames() {	return new ParamEnum(list.keySet().iterator());    }    /**     * Convert this ParameterList into a MIME String. If this is     * an empty list, an empty string is returned.     *     * @return		String     */    public String toString() {	return toString(0);    }    /**     * Convert this ParameterList into a MIME String. If this is     * an empty list, an empty string is returned.     *        * The 'used' parameter specifies the number of character positions     * already taken up in the field into which the resulting parameter     * list is to be inserted. It's used to determine where to fold the     * resulting parameter list.     *     * @param used      number of character positions already used, in     *                  the field into which the parameter list is to     *                  be inserted.     * @return          String     */      public String toString(int used) {        ToStringBuffer sb = new ToStringBuffer(used);        Iterator e = list.keySet().iterator();         while (e.hasNext()) {            String name = (String)e.next();	    Object v = list.get(name);	    if (v instanceof MultiValue) {		MultiValue vv = (MultiValue)v;		String ns = name + "*";		for (int i = 0; i < vv.size(); i++) {		    Object va = vv.get(i);		    if (va instanceof Value)			sb.addNV(ns + i + "*", ((Value)va).encodedValue);		    else			sb.addNV(ns + i, (String)va);		}	    } else if (v instanceof Value)		sb.addNV(name + "*", ((Value)v).encodedValue);	    else		sb.addNV(name, (String)v);        }        return sb.toString();    }    /**     * A special wrapper for a StringBuffer that keeps track of the     * number of characters used in a line, wrapping to a new line     * as necessary; for use by the toString method.     */    private static class ToStringBuffer {	private int used;	// keep track of how much used on current line	private StringBuffer sb = new StringBuffer();	public ToStringBuffer(int used) {	    this.used = used;	}	public void addNV(String name, String value) {	    value = quote(value);	    sb.append("; ");	    used += 2;	    int len = name.length() + value.length() + 1;	    if (used + len > 76) { // overflows ...		sb.append("\r\n\t"); // .. start new continuation line		used = 8; // account for the starting <tab> char	    }	    sb.append(name).append('=');	    used += name.length() + 1;	    if (used + value.length() > 76) { // still overflows ...		// have to fold value		String s = MimeUtility.fold(used, value);		sb.append(s);		int lastlf = s.lastIndexOf('\n');		if (lastlf >= 0)	// always true		    used += s.length() - lastlf - 1;		else		    used += s.length();	    } else {		sb.append(value);		used += value.length();	    }	}	public String toString() {	    return sb.toString();	}    }     // Quote a parameter value token if required.    private static String quote(String value) {	return MimeUtility.quote(value, HeaderTokenizer.MIME);    }    private static final char hex[] = {	'0','1', '2', '3', '4', '5', '6', '7',	'8','9', 'A', 'B', 'C', 'D', 'E', 'F'    };    /**     * Encode a parameter value, if necessary.     * If the value is encoded, a Value object is returned.     * Otherwise, null is returned.     * XXX - Could return a MultiValue object if parameter value is too long.     */    private static Value encodeValue(String value, String charset) {	if (MimeUtility.checkAscii(value) == MimeUtility.ALL_ASCII)	    return null;	// no need to encode it	byte[] b;	// charset encoded bytes from the string	try {	    b = value.getBytes(MimeUtility.javaCharset(charset));	} catch (UnsupportedEncodingException ex) {	    return null;	}	StringBuffer sb = new StringBuffer(b.length + charset.length() + 2);	sb.append(charset).append("''");	for (int i = 0; i < b.length; i++) {	    char c = (char)(b[i] & 0xff);	    // do we need to encode this character?	    if (c <= ' ' || c >= 0x7f || c == '*' || c == '\'' || c == '%' ||		    HeaderTokenizer.MIME.indexOf(c) >= 0) {		sb.append('%').append(hex[c>>4]).append(hex[c&0xf]);	    } else		sb.append(c);	}	Value v = new Value();	v.charset = charset;	v.value = value;	v.encodedValue = sb.toString();	return v;    }    /**     * Decode a parameter value.     */    private static Value decodeValue(String value) throws ParseException {	Value v = new Value();	v.encodedValue = value;	v.value = value;	// in case we fail to decode it	try {	    int i = value.indexOf('\'');	    if (i <= 0) {		if (decodeParametersStrict)		    throw new ParseException(			"Missing charset in encoded value: " + value);		return v;	// not encoded correctly?  return as is.	    }	    String charset = value.substring(0, i);	    int li = value.indexOf('\'', i + 1);	    if (li < 0) {		if (decodeParametersStrict)		    throw new ParseException(			"Missing language in encoded value: " + value);		return v;	// not encoded correctly?  return as is.	    }	    String lang = value.substring(i + 1, li);	    value = value.substring(li + 1);	    v.charset = charset;	    v.value = decodeBytes(value, charset);	} catch (NumberFormatException nex) {	    if (decodeParametersStrict)		throw new ParseException(nex.toString());	} catch (UnsupportedEncodingException uex) {	    if (decodeParametersStrict)		throw new ParseException(uex.toString());	} catch (StringIndexOutOfBoundsException ex) {	    if (decodeParametersStrict)		throw new ParseException(ex.toString());	}	return v;    }    /**     * Decode the encoded bytes in value using the specified charset.     */    private static String decodeBytes(String value, String charset)				throws UnsupportedEncodingException {	/*	 * Decode the ASCII characters in value	 * into an array of bytes, and then convert	 * the bytes to a String using the specified	 * charset.  We'll never need more bytes than	 * encoded characters, so use that to size the	 * array.	 */	byte[] b = new byte[value.length()];	int i, bi;	for (i = 0, bi = 0; i < value.length(); i++) {	    char c = value.charAt(i);	    if (c == '%') {		String hex = value.substring(i + 1, i + 3);		c = (char)Integer.parseInt(hex, 16);		i += 2;	    }	    b[bi++] = (byte)c;	}	return new String(b, 0, bi, MimeUtility.javaCharset(charset));    }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91蜜桃视频在线| 国产精品久久久久影院色老大| 欧美色综合网站| 色综合久久久久综合体| 99精品一区二区三区| 成人激情动漫在线观看| 成人三级伦理片| www.久久久久久久久| 不卡的av电影在线观看| 91丨porny丨户外露出| youjizz国产精品| 99精品国产99久久久久久白柏 | 波多野结衣在线aⅴ中文字幕不卡 波多野结衣在线一区 | 亚洲欧美中日韩| 亚洲欧美电影院| 亚洲国产日产av| 天天综合色天天综合| 久久激情综合网| 国产精品一线二线三线| 成人黄色免费短视频| 色综合久久久久久久久久久| 在线观看av不卡| 在线电影国产精品| 欧美精品一区二区三区很污很色的| 日韩欧美你懂的| 欧美激情一区在线| 亚洲精品亚洲人成人网在线播放| 亚洲123区在线观看| 免费观看在线综合| 国产精品亚洲а∨天堂免在线| 国产91精品精华液一区二区三区| 99天天综合性| 欧美肥胖老妇做爰| 久久久亚洲国产美女国产盗摄| 国产精品少妇自拍| 午夜久久电影网| 国产麻豆视频精品| 在线一区二区三区做爰视频网站| 777奇米四色成人影色区| 久久人人爽爽爽人久久久| 中文字幕综合网| 日本怡春院一区二区| 国产成人av电影在线| 欧美午夜电影一区| 久久久久国产一区二区三区四区| 亚洲免费观看高清完整版在线| 青青草国产成人99久久| av在线不卡网| 日韩一区二区三区高清免费看看| 国产精品视频yy9299一区| 日韩电影免费在线观看网站| 国产69精品久久久久毛片| 欧美视频中文字幕| 国产欧美1区2区3区| 亚洲.国产.中文慕字在线| 大美女一区二区三区| 欧美日韩成人综合天天影院| 国产三级欧美三级日产三级99| 一个色在线综合| 国产成人精品1024| 欧美一区午夜视频在线观看| 1000部国产精品成人观看| 蜜臀a∨国产成人精品| 91免费在线视频观看| 久久综合九色综合97婷婷女人 | 亚洲第一激情av| 成人av资源在线观看| 日韩精品一区二区三区中文不卡| √…a在线天堂一区| 国产精品一级二级三级| 91精品久久久久久久99蜜桃| 亚洲欧美日韩国产中文在线| 国产精品正在播放| 日韩欧美国产麻豆| 婷婷夜色潮精品综合在线| 91在线无精精品入口| 国产婷婷色一区二区三区在线| 日韩一区精品字幕| 欧美性猛交xxxxxxxx| 一色桃子久久精品亚洲| 国产高清无密码一区二区三区| 日韩午夜av一区| 日本一区中文字幕| 欧美中文字幕一区| 亚洲三级电影网站| 成人激情视频网站| 中文字幕欧美日韩一区| 精品亚洲porn| 精品久久久久久久人人人人传媒| 天天综合网天天综合色| 欧美人妖巨大在线| 亚洲福利国产精品| 欧美日韩精品欧美日韩精品| 亚洲精品中文字幕在线观看| 91在线免费看| 亚洲人成在线播放网站岛国| www.成人网.com| 亚洲图片另类小说| 91在线视频观看| 亚洲精品第1页| 一本一道久久a久久精品| 亚洲免费av网站| 一本到一区二区三区| 一区二区久久久久| 欧美视频在线观看一区二区| 亚洲国产精品久久人人爱| 欧美日韩国产另类一区| 午夜av电影一区| 日韩一区二区三区三四区视频在线观看 | 欧美日韩一二三| 午夜精品免费在线观看| 制服丝袜国产精品| 久久激五月天综合精品| 国产亚洲综合在线| 成人黄色小视频在线观看| 中文字幕亚洲精品在线观看 | 日韩视频一区二区三区在线播放| 久久国产生活片100| 精品电影一区二区三区| 国产成人免费在线观看| 国产精品久久久久久户外露出 | 日韩一级免费一区| 激情综合网激情| 国产精品免费视频网站| 色综合一区二区| 丝袜美腿一区二区三区| www精品美女久久久tv| 成人久久视频在线观看| 一区二区欧美精品| 日韩欧美中文字幕制服| 国产成人综合亚洲网站| 亚洲免费在线视频| 在线综合+亚洲+欧美中文字幕| 美女视频免费一区| 国产精品色一区二区三区| 欧美性大战xxxxx久久久| 蜜臀av一区二区在线免费观看| 久久精品男人的天堂| 欧美性色欧美a在线播放| 狠狠色丁香久久婷婷综| 亚洲欧洲精品一区二区三区| 欧美色精品在线视频| 国产麻豆视频一区| 亚洲线精品一区二区三区| 欧美精品一区二区在线播放| 色综合网色综合| 美国精品在线观看| 亚洲人123区| 日韩美女在线视频| 91视视频在线观看入口直接观看www | 成人精品gif动图一区| 午夜精品福利一区二区三区蜜桃| 精品国一区二区三区| 91久久精品国产91性色tv| 久99久精品视频免费观看| 亚洲精品一二三四区| 精品国产91洋老外米糕| 欧美亚洲动漫另类| 国产成人精品三级麻豆| 欧美a一区二区| 亚洲美女电影在线| 久久综合九色综合欧美亚洲| 欧美日韩性生活| av爱爱亚洲一区| 精品午夜久久福利影院 | 色乱码一区二区三区88| 美女视频免费一区| 亚洲精品免费视频| 久久―日本道色综合久久| 欧美乱熟臀69xxxxxx| 成人a免费在线看| 国产精品资源在线| 美腿丝袜在线亚洲一区| 亚洲国产综合在线| 1区2区3区国产精品| 国产欧美精品一区二区色综合朱莉 | 91在线丨porny丨国产| 国产精品影音先锋| 久久精品国产秦先生| 亚洲超碰精品一区二区| 亚洲猫色日本管| 中文幕一区二区三区久久蜜桃| 精品99一区二区| 91精品国产欧美一区二区成人| 欧美性生交片4| 欧洲一区二区三区免费视频| www.欧美色图| 成人午夜在线免费| 国产九色精品成人porny | 欧洲另类一二三四区| 91在线视频免费91| av亚洲精华国产精华| 国产精品123| 国产精品影视在线| 国产一区二区精品久久99| 麻豆国产一区二区| 蜜臀久久久久久久| 免费欧美日韩国产三级电影| 三级亚洲高清视频| 日日骚欧美日韩|