⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 quotedstringtokenizer.java

📁 是离开的肌肤了卡机是离开的就富利卡及是了的开发及拉考试及的福利科技阿斯利康的肌肤莱卡及时的离开福建阿斯顿发
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
    /* ------------------------------------------------------------ */    /** Quote a string into a StringBuffer.     * The characters ", \, \n, \r, \t, \f and \b are escaped     * @param buf The StringBuffer     * @param s The String to quote.     */    public static void quote(StringBuffer buf, String s)    {        synchronized(buf)        {            buf.append('"');            char[] chars = null;            int i=0;            loop:            for (;i<s.length();i++)            {                char c = s.charAt(i);                switch(c)                {                    case '"':                        chars = s.toCharArray();                        buf.append(chars,0,i);                        buf.append("\\\"");                        break loop;                    case '\\':                        chars = s.toCharArray();                        buf.append(chars,0,i);                        buf.append("\\\\");                        break loop;                    case '\n':                        chars = s.toCharArray();                        buf.append(chars,0,i);                        buf.append("\\n");                        break loop;                    case '\r':                        chars = s.toCharArray();                        buf.append(chars,0,i);                        buf.append("\\r");                        break loop;                    case '\t':                        chars = s.toCharArray();                        buf.append(chars,0,i);                        buf.append("\\t");                        break loop;                    case '\f':                        chars = s.toCharArray();                        buf.append(chars,0,i);                        buf.append("\\f");                        break loop;                    case '\b':                        chars = s.toCharArray();                        buf.append(chars,0,i);                        buf.append("\\b");                        break loop;                                            default:                        continue;                }            }            if (chars==null)                buf.append(s);            else            {                i++;                for (;i<s.length();i++)                {                    char c = s.charAt(i);                    switch(c)                    {                        case '"':                            buf.append("\\\"");                            continue;                        case '\\':                            buf.append("\\\\");                            continue;                        case '\n':                            buf.append("\\n");                            continue;                        case '\r':                            buf.append("\\r");                            continue;                        case '\t':                            buf.append("\\t");                            continue;                        case '\f':                            buf.append("\\f");                            continue;                        case '\b':                            buf.append("\\b");                            continue;                        default:                            buf.append(c);                        continue;                    }                }            }                        buf.append('"');        }         }        /* ------------------------------------------------------------ */    /** Quote a string into a StringBuffer.     * The characters ", \, \n, \r, \t, \f, \b are escaped.     * Quotes are forced if any escaped characters are present or there     * is a ", ', space, + or % character.     *      * @param buf The StringBuffer     * @param s The String to quote.     */    public static void quoteIfNeeded(StringBuffer buf, String s)    {        synchronized(buf)        {            int e=-1;                        search: for (int i=0;i<s.length();i++)            {                char c = s.charAt(i);                switch(c)                {                    case '"':                    case '\\':                    case '\n':                    case '\r':                    case '\t':                    case '\f':                    case '\b':                    case '%':                    case '+':                    case ' ':                        e=i;                        buf.append('"');                        // TODO when 1.4 support is dropped: buf.append(s,0,e);                        for (int j=0;j<e;j++)                            buf.append(s.charAt(j));                        break search;                                            default:                        continue;                }            }                        if (e<0)            {                buf.append(s);                return;            }                        for (int i=e;i<s.length();i++)            {                char c = s.charAt(i);                switch(c)                {                    case '"':                        buf.append("\\\"");                        continue;                    case '\\':                        buf.append("\\\\");                        continue;                    case '\n':                        buf.append("\\n");                        continue;                    case '\r':                        buf.append("\\r");                        continue;                    case '\t':                        buf.append("\\t");                        continue;                    case '\f':                        buf.append("\\f");                        continue;                    case '\b':                        buf.append("\\b");                        continue;                                            default:                        buf.append(c);                        continue;                }            }            buf.append('"');        }    }        /* ------------------------------------------------------------ */    /** Unquote a string.     * @param s The string to unquote.     * @return quoted string     */    public static String unquote(String s)    {        if (s==null)            return null;        if (s.length()<2)            return s;        char first=s.charAt(0);        char last=s.charAt(s.length()-1);        if (first!=last || (first!='"' && first!='\''))            return s;                StringBuffer b=new StringBuffer(s.length()-2);        synchronized(b)        {            boolean escape=false;            for (int i=1;i<s.length()-1;i++)            {                char c = s.charAt(i);                if (escape)                {                    escape=false;                    switch (c)                    {                        case 'n':                            b.append('\n');                            break;                        case 'r':                            b.append('\r');                            break;                        case 't':                            b.append('\t');                            break;                        case 'f':                            b.append('\f');                            break;                        case 'b':                            b.append('\b');                            break;                        case 'u':                            b.append((char)(                                    (TypeUtil.convertHexDigit((byte)s.charAt(i++))<<24)+                                    (TypeUtil.convertHexDigit((byte)s.charAt(i++))<<16)+                                    (TypeUtil.convertHexDigit((byte)s.charAt(i++))<<8)+                                    (TypeUtil.convertHexDigit((byte)s.charAt(i++)))                                    )                             );                            break;                        default:                            b.append(c);                    }                }                else if (c=='\\')                {                    escape=true;                    continue;                }                else                    b.append(c);            }                        return b.toString();        }    }    /* ------------------------------------------------------------ */    /**     * @return handle double quotes if true     */    public boolean getDouble()    {        return _double;    }    /* ------------------------------------------------------------ */    /**     * @param d handle double quotes if true     */    public void setDouble(boolean d)    {        _double=d;    }    /* ------------------------------------------------------------ */    /**     * @return handle single quotes if true     */    public boolean getSingle()    {        return _single;    }    /* ------------------------------------------------------------ */    /**     * @param single handle single quotes if true     */    public void setSingle(boolean single)    {        _single=single;    }}

⌨️ 快捷键说明

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