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

📄 mimeutility.java

📁 封装了SQL、Socket、WAP、MIME等功能的通用组件
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        }
        catch(IllegalArgumentException _ex)
        {
            throw new UnsupportedEncodingException();
        }
    }

    private static String decodeInnerWords(String s)
        throws UnsupportedEncodingException
    {
        int i = 0;
        StringBuffer stringbuffer = new StringBuffer();
        int j;
        while((j = s.indexOf("=?", i)) >= 0)
        {
            stringbuffer.append(s.substring(i, j));
            int k = s.indexOf("?=", j);
            if(k < 0)
                break;
            String s1 = s.substring(j, k + 2);
            try
            {
                s1 = decodeWord(s1);
            }
            catch(ParseException _ex) { }
            stringbuffer.append(s1);
            i = k + 2;
        }
        if(i == 0)
            return s;
        if(i < s.length())
            stringbuffer.append(s.substring(i));
        return stringbuffer.toString();
    }

    public static String quote(String s, String s1)
    {
        int i = s.length();
        boolean flag = false;
        for(int j = 0; j < i; j++)
        {
            char c = s.charAt(j);
            if(c == '"' || c == '\\' || c == '\r' || c == '\n')
            {
                StringBuffer stringbuffer1 = new StringBuffer(i + 3);
                stringbuffer1.append('"');
                stringbuffer1.append(s.substring(0, j));
                int k = 0;
                for(int l = j; l < i; l++)
                {
                    char c1 = s.charAt(l);
                    if((c1 == '"' || c1 == '\\' || c1 == '\r' || c1 == '\n') && (c1 != '\n' || k != 13))
                        stringbuffer1.append('\\');
                    stringbuffer1.append(c1);
                    k = c1;
                }

                stringbuffer1.append('"');
                return stringbuffer1.toString();
            }
            if(c < ' ' || c >= '\177' || s1.indexOf(c) >= 0)
                flag = true;
        }

        if(flag)
        {
            StringBuffer stringbuffer = new StringBuffer(i + 2);
            stringbuffer.append('"').append(s).append('"');
            return stringbuffer.toString();
        } else
        {
            return s;
        }
    }

    public static String javaCharset(String s)
    {
        if(mime2java == null || s == null)
            return s;
        String s1 = (String)mime2java.get(s.toLowerCase());
        if(s1 == null)
            return s;
        else
            return s1;
    }

    public static String mimeCharset(String s)
    {
        if(java2mime == null || s == null)
            return s;
        String s1 = (String)java2mime.get(s.toLowerCase());
        if(s1 == null)
            return s;
        else
            return s1;
    }

    public static String getDefaultJavaCharset()
    {
        if(defaultJavaCharset == null)
            try
            {
                defaultJavaCharset = System.getProperty("file.encoding", "8859_1");
            }
            catch(SecurityException _ex)
            {
                if(defaultJavaCharset == null)
                    defaultJavaCharset = "8859_1";
            }
        return defaultJavaCharset;
    }

    static String getDefaultMIMECharset()
    {
        if(defaultMIMECharset == null)
            try
            {
                defaultMIMECharset = System.getProperty("mail.mime.charset");
            }
            catch(SecurityException _ex) { }
        if(defaultMIMECharset == null)
            defaultMIMECharset = mimeCharset(getDefaultJavaCharset());
        return defaultMIMECharset;
    }

    private static void loadMappings(LineInputStream lineinputstream, Hashtable hashtable)
    {
        do
        {
            String s;
            try
            {
                s = lineinputstream.readLine();
            }
            catch(IOException _ex)
            {
                return;
            }
            if(s == null || s.startsWith("--") && s.endsWith("--"))
                break;
            if(s.trim().length() != 0 && !s.startsWith("#"))
            {
                StringTokenizer stringtokenizer = new StringTokenizer(s, " \t");
                try
                {
                    String s1 = stringtokenizer.nextToken();
                    String s2 = stringtokenizer.nextToken();
                    hashtable.put(s1.toLowerCase(), s2);
                }
                catch(NoSuchElementException _ex) { }
            }
        } while(true);
    }

    static int checkAscii(String s)
    {
        int i = 0;
        int j = 0;
        int k = s.length();
        for(int l = 0; l < k; l++)
            if(nonascii(s.charAt(l)))
                j++;
            else
                i++;

        if(j == 0)
            return 1;
        return i <= j ? 3 : 2;
    }

    static int checkAscii(byte abyte0[])
    {
        int i = 0;
        int j = 0;
        for(int k = 0; k < abyte0.length; k++)
            if(nonascii(abyte0[k] & 0xff))
                j++;
            else
                i++;

        if(j == 0)
            return 1;
        return i <= j ? 3 : 2;
    }

    static int checkAscii(InputStream inputstream, int i, boolean flag)
    {
        int j = 0;
        int k = 0;
        int i1 = 4096;
        int j1 = 0;
        boolean flag1 = false;
        boolean flag2 = false;
        boolean flag3 = encodeEolStrict && flag;
        byte abyte0[] = null;
        if(i != 0)
        {
            i1 = i != -1 ? Math.min(i, 4096) : 4096;
            abyte0 = new byte[i1];
        }
        while(i != 0)
        {
            int l;
            try
            {
                if((l = inputstream.read(abyte0, 0, i1)) == -1)
                    break;
                int k1 = 0;
                for(int l1 = 0; l1 < l; l1++)
                {
                    int i2 = abyte0[l1] & 0xff;
                    if(flag3 && (k1 == 13 && i2 != 10 || k1 != 13 && i2 == 10))
                        flag2 = true;
                    if(i2 == 13 || i2 == 10)
                        j1 = 0;
                    else
                    if(++j1 > 998)
                        flag1 = true;
                    if(nonascii(i2))
                    {
                        if(flag)
                            return 3;
                        k++;
                    } else
                    {
                        j++;
                    }
                    k1 = i2;
                }

            }
            catch(IOException _ex)
            {
                break;
            }
            if(i != -1)
                i -= l;
        }
        if(i == 0 && flag)
            return 3;
        if(k == 0)
        {
            if(flag2)
                return 3;
            return !flag1 ? 1 : 2;
        }
        return j <= k ? 3 : 2;
    }

    static boolean nonascii(int i)
    {
        return i >= 127 || i < 32 && i != 13 && i != 10 && i != 9;
    }
                 /*
    static Class class$(String s)
    {
        try
        {
            return Class.forName(s);
        }
        catch(ClassNotFoundException classnotfoundexception)
        {
            throw new NoClassDefFoundError(classnotfoundexception.getMessage());
        }
    }

    static
    {
        try
        {
            String s = System.getProperty("mail.mime.decodetext.strict");
            decodeStrict = s == null || !s.equalsIgnoreCase("false");
            s = System.getProperty("mail.mime.encodeeol.strict");
            encodeEolStrict = s != null && s.equalsIgnoreCase("true");
        }
        catch(SecurityException _ex) { }
        java2mime = new Hashtable(40);
        mime2java = new Hashtable(10);
        try
        {
            Object obj = (class$javax$mail$internet$MimeUtility == null ? (class$javax$mail$internet$MimeUtility = class$("javax.mail.internet.MimeUtility")) : class$javax$mail$internet$MimeUtility).getResourceAsStream("/META-INF/javamail.charset.map");
            if(obj != null)
            {
                obj = new LineInputStream(((InputStream) (obj)));
                loadMappings((LineInputStream)obj, java2mime);
                loadMappings((LineInputStream)obj, mime2java);
            }
        }
        catch(Exception _ex) { }
        if(java2mime.isEmpty())
        {
            java2mime.put("8859_1", "ISO-8859-1");
            java2mime.put("iso8859_1", "ISO-8859-1");
            java2mime.put("ISO8859-1", "ISO-8859-1");
            java2mime.put("8859_2", "ISO-8859-2");
            java2mime.put("iso8859_2", "ISO-8859-2");
            java2mime.put("ISO8859-2", "ISO-8859-2");
            java2mime.put("8859_3", "ISO-8859-3");
            java2mime.put("iso8859_3", "ISO-8859-3");
            java2mime.put("ISO8859-3", "ISO-8859-3");
            java2mime.put("8859_4", "ISO-8859-4");
            java2mime.put("iso8859_4", "ISO-8859-4");
            java2mime.put("ISO8859-4", "ISO-8859-4");
            java2mime.put("8859_5", "ISO-8859-5");
            java2mime.put("iso8859_5", "ISO-8859-5");
            java2mime.put("ISO8859-5", "ISO-8859-5");
            java2mime.put("8859_6", "ISO-8859-6");
            java2mime.put("iso8859_6", "ISO-8859-6");
            java2mime.put("ISO8859-6", "ISO-8859-6");
            java2mime.put("8859_7", "ISO-8859-7");
            java2mime.put("iso8859_7", "ISO-8859-7");
            java2mime.put("ISO8859-7", "ISO-8859-7");
            java2mime.put("8859_8", "ISO-8859-8");
            java2mime.put("iso8859_8", "ISO-8859-8");
            java2mime.put("ISO8859-8", "ISO-8859-8");
            java2mime.put("8859_9", "ISO-8859-9");
            java2mime.put("iso8859_9", "ISO-8859-9");
            java2mime.put("ISO8859-9", "ISO-8859-9");
            java2mime.put("SJIS", "Shift_JIS");
            java2mime.put("MS932", "Shift_JIS");
            java2mime.put("JIS", "ISO-2022-JP");
            java2mime.put("ISO2022JP", "ISO-2022-JP");
            java2mime.put("EUC_JP", "euc-jp");
            java2mime.put("KOI8_R", "koi8-r");
            java2mime.put("EUC_CN", "euc-cn");
            java2mime.put("EUC_TW", "euc-tw");
            java2mime.put("EUC_KR", "euc-kr");
        }
        if(mime2java.isEmpty())
        {
            mime2java.put("iso-2022-cn", "ISO2022CN");
            mime2java.put("iso-2022-kr", "ISO2022KR");
            mime2java.put("utf-8", "UTF8");
            mime2java.put("utf8", "UTF8");
            mime2java.put("ja_jp.iso2022-7", "ISO2022JP");
            mime2java.put("ja_jp.eucjp", "EUCJIS");
            mime2java.put("euc-kr", "KSC5601");
            mime2java.put("euckr", "KSC5601");
            mime2java.put("us-ascii", "ISO-8859-1");
            mime2java.put("x-us-ascii", "ISO-8859-1");
        }
    }
                    */
    /**
     * file ext name to ContentType
     */
    public static String ext2ct(String fileExt)
    {
        String ext = fileExt.toLowerCase();

        if ("gif".equals(ext))
            return "image/gif";
        if ("jpg".equals(ext))
            return "image/jpeg";
        if ("png".equals(ext))
            return "image/png";
        if ("tiff".equals(ext))
            return "image/tiff";

        if ("txt".equals(ext))
            return "text/plain";

        if ("wav".equals(ext))
            return "audio/wav";
        if ("mid".equals(ext))
            return "audio/midi";
        if ("amr".equals(ext))
            return "audio/amr";

        return "";
    }
}

⌨️ 快捷键说明

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