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

📄 toolkit.java

📁 mail sent and revesive system jsp+mysql
💻 JAVA
字号:
package fengyun.Fastmail.util;

import java.io.*;
import javax.mail.internet.ParseException;
import fengyun.Fastmail.beans.BeansConstants;

public final class ToolKit {
	/**
	 * 流拷贝
	 */
	public static int StreamCopy(InputStream in,OutputStream out,int max_len)throws IOException{
		int total=0;
		if(max_len < 0) max_len = Integer.MAX_VALUE;
		if(max_len == 0) return 0;
		synchronized(in){
			synchronized(out){
				byte[] buf = new byte[512];
				int nRead=-1;
				while(max_len>0){
					nRead = in.read(buf);
					if(nRead<0) break;
					out.write(buf,0,nRead);
					total+=nRead;
					max_len-=nRead;
				}
			}
		}
		return total;
	}
    public static String encode(String value) {
        if(value == null)
            return "";
        int i = 0;
        for(int j = 0; j < value.length(); j++)
            i += Character.getNumericValue(value.charAt(j));

        String webmastermail = BeansConstants.webmastermail;
        for(int k = 0; k < webmastermail.length(); k++)
            i += Character.getNumericValue(webmastermail.charAt(k));

        String tmp = String.valueOf(i);
        for(int l = 0; l < tmp.length(); l++)
            i += Character.getNumericValue(tmp.charAt(l));

        return String.valueOf(i);
    }

	/**
	 * 返回变化后的消息号
	 */
	public static String getRealMessageID(String MessageID) {
		String real = null;
		int cur = MessageID.indexOf(".");
		if (cur <=0 ) return MessageID;
		String flag = MessageID.substring(cur+1,cur+2);
		if ("N".equals(flag)) {
			real = MessageID.substring(0,cur) + '.' + 'R' + MessageID.substring(cur+2);
			return real;
		}
		else if ("R".equals(flag)) {
			real = MessageID.substring(0,cur) + '.' + 'D' + MessageID.substring(cur+2);
			return real;
		}
		return MessageID;
	}
	/**
	 * 返回变化后的消息号
	 */
	public static char getFlag(String MessageID) {
		int cur = MessageID.indexOf(".");
		if (cur <=0 ) return '*';
		String flag = MessageID.substring(cur+1,cur+2);
		return flag.charAt(0);
	}
	/**
	 * 将一个字符替换成目标字符串
	 * @param source 源字符串
	 * @param src 字符
	 * @param dst 目标字符串
	 */
	public static String Replace(String source,char src,String dst) {
		StringBuffer sBuf = new StringBuffer(source.length()+(source.length()/20)*dst.length()+100);
		int offset = 0;
		int index = 0;
		while(offset<source.length()&&(index = source.indexOf((int)src,offset))>0){
			sBuf.append(source.substring(offset,index));
			sBuf.append(dst);
			offset=index+1;
		}
		if(offset<source.length())
			sBuf.append(source.substring(offset));
		return sBuf.toString();
	}
    /**
     * 返回字符集名
     */
    public static String getCharSet(String eword) {
		if (!eword.startsWith("=?")) // not an encoded word
		    return null;
	
		// get charset
		int start = 2; int pos; 
		if ((pos = eword.indexOf('?', start)) == -1)
		    return null;
		return javax.mail.internet.MimeUtility.javaCharset(eword.substring(start, pos));
	}
	/**
	 * 返回编码形式
	 */
	public static String getEncoding(String eword) {
		if (!eword.startsWith("=?")) // not an encoded word
		    return null;
		int start = 2; int pos; 
		if ((pos = eword.indexOf('?', start)) == -1)
		    return null;
		// get encoding
		start = pos+1;
		if ((pos = eword.indexOf('?', start)) == -1)
		    return null;
		return eword.substring(start, pos);
    }
	/**
	 * 返回解码后的字符串
	 */
	public static String getDecodeText(String eword) {
		try {
			String decodevalue = javax.mail.internet.MimeUtility.decodeText(eword);
			String charset = getCharSet(eword);
			if (charset != null && !fengyun.Fastmail.beans.BeansConstants.DefaultCharSet.equals(charset)) {
				decodevalue = new String(decodevalue.getBytes(charset),fengyun.Fastmail.beans.BeansConstants.DefaultCharSet);
			}
		    return decodevalue;
		}
		catch(Exception e) {
			e.printStackTrace();
			return eword;
		}
	}
        public static boolean parseAddress(String address) {
                if (address.length() == 0) return true;
                int atindex = address.indexOf('@');
                int pointindex = address.indexOf('.');

                if ( atindex > 0 && atindex < pointindex && pointindex < address.length() - 2) {
                        return true;
                }
                else {
                        return false;
                }
        }
        public static boolean parseAddresses(String addresses) {
                boolean valid = true;
                int index = 0;
                while((index = addresses.indexOf(',')) > 0) {
                        valid = valid && parseAddress(addresses.substring(0,index));
                        if (!valid) {
                                return false;
                        }
                        else {
                                addresses = addresses.substring(index + 1);
                        }
                }
                return parseAddress(addresses);
        }
}

⌨️ 快捷键说明

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