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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? maildirfolder.java

?? jsp全部郵件系統 jsp全部郵件系統
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/*
 * MaildirFolder.java
 * Copyright (C) 1999 fengyun <fengyun@gbsource.net>
 */
package fengyun.Fastmail.Maildir;

import java.io.*;
import java.net.*;
import java.util.*;
import java.util.zip.*;
import javax.mail.*;
import javax.mail.event.*;
import javax.mail.internet.*;

/**
 * Maildir形式的郵件夾
 * @author fengyun
 * @version 1.01
 */
public class MaildirFolder extends Folder {
	
	protected MaildirFolderSummary summary = null;								//郵夾摘要
	protected Vector msgsummarys = new Vector();										//消息摘要集
	protected Vector messages = new Vector();											//消息集合

	/**
	 * 構造MaildirFolder
	 * @param store 郵件的存儲對象
	 * @param dirname 郵件夾名
	 */
	protected MaildirFolder(Store store,String name) throws MessagingException{
		super(store);
		String fulldir = ((MaildirStore)store).getMaildir() + File.separator + name;
		summary = new MaildirFolderSummary(new File(fulldir));
	}
	protected MaildirFolder(Store store,MaildirFolderSummary summary) throws MessagingException{
		super(store);
		this.summary = summary;
	}
	/**
	 * 返回摘要
	 * @return MaildirFolderSummary 郵件夾摘要
	 */
	public MaildirFolderSummary getSummary() {
		return summary;
	}
	/**
	 * 返回郵件夾類型
	 * @return int 郵件夾類型
	 */
    public int getType() {
		return summary.getType();
	}
	/**
	 * 設置郵件夾類型
	 * @param type 郵件夾類型
	 * @return void 空
	 */
	public void setType(int type) {
		summary.setType(type);
	}
	/**
	 * 返回郵件夾名
	 * @return String 郵件夾名稱
	 */
	public String getName() {
		return summary.getName();
	}
	/**
	 * 返回郵件夾大小
	 * @return long 郵件夾大小
	 */
	public long getSize() {
		return summary.getSize();
	}
	/**
	 * 返回郵件夾全名
	 * @return String 郵件夾全名
	 */
	public String getFullName() {
		return summary.getFullName();
	}
	/**
	 * 郵件夾擁有消息總數
	 * @return int 消息總數
	 */
	public int getMessageCount() {
		return summary.getMessageCount();
	}
	/**
	 * 返回新消息數
	 * @return int 新消息總數
	 */
	public int getNewMessageCount() {
		return summary.getNewMessageCount();
	}
	/**
	 * 郵件夾是否擁有新消息
	 * @return boolean 是否有新消息
	 */
	public boolean hasNewMessages() {
		return summary.getNewMessageCount() > 0;
	}
	/**
	 * 將消息數組插入文件夾
	 * @param m 消息數組
	 */
    public synchronized void appendMessages(Message [] m) throws MessagingException{
		
		if (m == null || m.length == 0) throw new MessagingException("Error Message List");
		
		if (!isOpen()) throw new MessagingException("Folder is not Opened");
		
		int j=0;
		
		for (int i=0; i<m.length;i++) {
			for (j=0; j< summary.getMessageCount() && ((MaildirMessageSummary)msgsummarys.get(j)).getReceiveTime()>((MaildirMessage)m[i]).getReceiveTime();j++); //查找合適位置
			MaildirMessageSummary mms = ((MaildirMessage)m[i]).summary;
			msgsummarys.add(j,mms);
			if (j < messages.size()) { //直接插入
				messages.add(j,m[i]);
			}
			summary.incMessageCount();
			if (mms.isNewMessage()) summary.incNewMessageCount();
			//Debug
			if (((MaildirStore)store).getSession().getDebug())
				System.err.println("DEBUG: appendMessage:" + mms.getMessageID());
		}
	}
	/**
	 * 插入一個消息
	 * @param m 消息
	 */
    public void appendMessage(Message m) throws MessagingException {
		if (m == null || !(m instanceof MaildirMessage)) throw new MessagingException("Error Message");
		Message[] msglist = new Message[1];
		msglist[0] = m;
		appendMessages(msglist);
    }
	/**
	 * 郵夾是否存在
	 * @return boolean 是否存在
	 */
	public boolean exists() throws MessagingException {
		return summary.exists();
	}
	/**
	 * 打開郵件夾
	 * @param Type 打開類型
	 */
	public void open(int Type) throws MessagingException {
		if (((MaildirStore)store).getSession().getDebug())
			System.err.println("DEBUG: Maildir: opening " + getFullName());
		if (!exists())
			throw new MessagingException("The Folder Format Error or Folder is not exists.");
		
		summary.Open();
		//對消息列表,取得消息摘要
		listMessageSummarys();
		
		//列郵件夾子目錄
//		if (Type == MaildirFolderSummary.HOLDS_FOLDERS) listFolderSummarys();
		notifyConnectionListeners(ConnectionEvent.OPENED);
		//Debug
		if (((MaildirStore)store).getSession().getDebug())
			System.err.println("DEBUG: open:" + this.getName());
	}
	/**
	 * 對Folder列表
	 * 返回下一級子郵件夾
	 * @return Folder[] 子郵件夾列表
	 */
	public Folder[] list() throws MessagingException {
		if (summary.getType() != MaildirFolderSummary.HOLDS_FOLDERS)
			throw new MessagingException("The Folder can't hold Sub Folder");
		
		String [] list = summary.list(new MaildirFilenameFilter('/'));				//所有目錄文件
		if (list != null && list.length >0) {
			Folder[] folders = new Folder[list.length];			
			for(int i = 0;i<list.length;i++) {
				folders[i] = store.getFolder(list[i]);
			}
			return folders;
		}
		return null;
	}
	/**
	 * 根據要求列郵件夾
	 * 返回下一級郵件夾
	 * @param pattern 無效參數
	 * @return Folder[] 與 list() 的返回一樣
	 */
	public Folder[] list(String pattern) throws MessagingException {
		return list();
	}
	/**
	 * 返回子郵件夾
	 * @param foldername 子郵件夾名稱
	 * @return Folder 對應的郵件夾
	 */
	public Folder getFolder(String foldername) throws MessagingException {
		String fullname = getName() + getSeparator() + foldername;
		return store.getFolder(fullname);
	}
	/**
	 * 對Folder列表
	 * 得到所有消息摘要
	 */
	public void listMessageSummarys() throws MessagingException{
		if (isOpen()) {
			String[] list = summary.list(new MaildirFilenameFilter('*'));
			if (list == null) return;
			summary.setMessageCount(list.length);
			summary.setNewMessageCount(0);
			Vector mess = new Vector();
			for(int i=0;i< getMessageCount(); i++) {
				try {
					int cur = list[i].indexOf(".");
					long ReceiveTime = Long.valueOf(list[i].substring(0,cur)).longValue() ;
					char Flag = list[i].charAt(cur+1);
					File file = new File(getFullName() + getSeparator() + list[i],"r");
					long Size = file.length();
					MaildirMessageSummary mms = new MaildirMessageSummary(list[i],ReceiveTime,Flag,Size);
					mess.add(mms);
				}
				catch(Exception e) {
					System.out.println("Can't get MessageSummary" + list[i] + ':' +e.getMessage());
				}
			}
			msgsummarys.removeAllElements();
			//排序
			while(!mess.isEmpty()) {
				int index=0;
				for(int i=0 ; i < mess.size(); i++) {
					MaildirMessageSummary  mms = (MaildirMessageSummary)mess.get(index);
					if (mms.getReceiveTime() < ((MaildirMessageSummary)mess.get(i)).getReceiveTime()) index = i;
				}
				MaildirMessageSummary  mms = (MaildirMessageSummary)mess.get(index);
				if (mms.isNewMessage()) summary.incNewMessageCount();
				msgsummarys.addElement(mms);
				mess.remove(index);
			}
			mess = null;
		}
	}
	/**
	 * 關閉文件夾
	 * @param b 是否清空(此Folder不需要)
	 */
	public void close(boolean b) throws MessagingException {
		if (isOpen()) {
			summary.Close();
			//回收內存
			msgsummarys.removeAllElements();
			msgsummarys = null;
			notifyConnectionListeners(ConnectionEvent.CLOSED);
		}
		if (((MaildirStore)store).getSession().getDebug())
			System.err.println("DEBUG: Maildir: closing " + getFullName());
	}
	/**
	 * 是否存在消息摘要
	 * @param msgname 消息名稱
	 * @return int 消息摘要所在位置
	 */
	public int hasMessageSummary(String msgname) {
		for(int i = 0 ;i <msgsummarys.size(); i++ ) {
			if (msgname.equals(((MaildirMessageSummary)msgsummarys.get(i)).getMessageID())) return i;
		}
		return -1;
	}
	/**
	 * 是否存在消息
	 * @param msgname 消息名稱
	 * @return 消息所在位置
	 */
	public int hasMessage(String msgname) {
		for(int i = 0 ;i < messages.size(); i++ ) {
			if (msgname.equals(((MaildirMessage)messages.get(i)).summary.getMessageID())) return i;
		}
		return -1;
	}
	/**
	 * 刪除消息
	 * @param msgnum 消息號
	 */
	public void deleteMessages(String msgname) throws MessagingException {
		if (msgname == null) throw new MessagingException("Error Message Name");
		
		String[] msglist = { msgname };
		deleteMessages(msglist);
	}
	/**
	 * 刪除消息號數組內的消息
	 * @param msgnum 消息號數組

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美成人官网二区| 精品久久久久久久久久久久久久久久久| 亚洲综合精品自拍| 91麻豆蜜桃一区二区三区| 亚洲欧美区自拍先锋| 国产校园另类小说区| 国产精品18久久久久| 亚洲精品一区二区三区影院| 成人午夜免费av| 午夜精品在线看| 国产精品毛片a∨一区二区三区| 91看片淫黄大片一级在线观看| 国产成人鲁色资源国产91色综| 精品在线一区二区三区| 一区二区三区视频在线观看| 久久精品人人做人人综合 | 国产精品免费av| 国产精品私人影院| 中文字幕中文在线不卡住| 日韩一区二区在线观看| 91美女在线观看| 欧美日韩亚洲国产综合| 东方欧美亚洲色图在线| 久久精品国产一区二区| 亚洲综合激情网| 免费不卡在线观看| 亚洲bt欧美bt精品777| 亚洲人妖av一区二区| 久久嫩草精品久久久精品| 91精品国产一区二区三区蜜臀| 99re这里只有精品6| 国产成人精品免费看| 99久久免费精品| 制服丝袜亚洲网站| 欧美一区二区三区视频在线观看| 日韩视频一区二区三区| 国产精品卡一卡二| 麻豆精品新av中文字幕| 男男视频亚洲欧美| 成人性生交大片免费看中文| 欧美色图激情小说| 久久婷婷成人综合色| 久久蜜桃一区二区| 亚洲一区二区三区四区在线观看| 激情六月婷婷久久| 国产乱淫av一区二区三区| 91麻豆高清视频| 精品国产一区二区三区忘忧草| 亚洲黄色av一区| 亚洲成人你懂的| 成人小视频免费在线观看| 777奇米四色成人影色区| 国产精品成人午夜| 久久99精品国产91久久来源| 91麻豆国产福利精品| 国产欧美中文在线| 亚洲欧美韩国综合色| 国产成人a级片| 日韩精品中午字幕| 国产精品免费视频网站| 免费在线看成人av| 欧美三级视频在线| 日韩一区中文字幕| 亚洲国产中文字幕在线视频综合| 同产精品九九九| 色综合视频在线观看| 欧美日韩一区二区三区在线看| 亚洲国产精品精华液ab| 一区二区三区在线观看视频| 丁香婷婷综合激情五月色| 欧美电视剧免费观看| 五月婷婷激情综合| 欧美精品日日鲁夜夜添| 久久婷婷国产综合国色天香| 免费成人av资源网| 日韩精品一区二区三区在线| 亚洲小少妇裸体bbw| 色噜噜狠狠色综合中国| 精品国产区一区| 麻豆精品视频在线观看视频| 日韩一区二区三区免费看| 三级不卡在线观看| 成人激情开心网| 欧美不卡123| 国模冰冰炮一区二区| 精品国产乱码久久久久久浪潮| 精品一区在线看| 久久久久久久性| 丁香激情综合国产| 亚洲精品一卡二卡| 欧美色爱综合网| 免费一级片91| 国产三区在线成人av| 成人性视频免费网站| 国产精品国模大尺度视频| 在线影院国内精品| 天天操天天干天天综合网| 日韩无一区二区| 成人看片黄a免费看在线| 亚洲精品免费在线观看| 7799精品视频| 国产剧情av麻豆香蕉精品| 国产精品美女久久久久久2018 | 国产婷婷色一区二区三区| 国产99久久久国产精品潘金| 亚洲美女偷拍久久| 69久久夜色精品国产69蝌蚪网| 免费成人av在线播放| 国产精品久久夜| 欧美三级电影一区| 久久精品久久精品| 亚洲日本免费电影| 欧美精品一区二区高清在线观看| 成人久久18免费网站麻豆| 污片在线观看一区二区| 国产精品视频线看| 欧美一区二区三区人| 高清成人在线观看| 天堂在线一区二区| 亚洲人快播电影网| 精品久久国产97色综合| 色婷婷激情一区二区三区| 精品系列免费在线观看| 亚洲精品国产第一综合99久久| 日韩女优av电影| 色婷婷国产精品| 懂色av一区二区三区免费看| 亚洲h精品动漫在线观看| 国产精品全国免费观看高清| 欧美一区二区三区免费在线看 | 国产精品电影一区二区三区| 欧美一级淫片007| 欧美在线一二三四区| 夜夜嗨av一区二区三区中文字幕 | 日韩精品国产精品| 亚洲欧美在线高清| 久久久精品欧美丰满| 69久久99精品久久久久婷婷| 色综合久久久久综合体桃花网| 国产一区二区女| 国产精品久久精品日日| 久久综合av免费| 欧美一级欧美三级| 欧美一区二区在线观看| 欧美吞精做爰啪啪高潮| 韩国理伦片一区二区三区在线播放| 亚洲一区二三区| 亚洲精品视频免费观看| 亚洲人被黑人高潮完整版| 国产精品亲子伦对白| 欧美国产精品一区二区三区| 26uuu精品一区二区三区四区在线| 欧美肥胖老妇做爰| 欧美精品乱码久久久久久按摩| 欧美三级午夜理伦三级中视频| 91丨九色丨国产丨porny| 99国产欧美久久久精品| 色综合久久久久综合体桃花网| 91香蕉视频污| 欧美三区免费完整视频在线观看| 91福利视频网站| 欧美日本在线一区| jiyouzz国产精品久久| 蜜桃视频在线一区| 久久精品国产亚洲aⅴ| 韩日欧美一区二区三区| 国产精品亚洲成人| av在线这里只有精品| 色天天综合色天天久久| 欧美日高清视频| 日韩亚洲欧美成人一区| 国产亚洲精品久| 中文字幕一区二区日韩精品绯色| 亚洲另类中文字| 日韩激情一二三区| 国产一区在线不卡| 99精品国产视频| 日韩三级免费观看| 国产欧美日韩另类一区| 亚洲乱码一区二区三区在线观看| 无码av中文一区二区三区桃花岛| 国内精品国产三级国产a久久| 国产91精品欧美| 欧美日韩午夜精品| 久久亚洲精品国产精品紫薇| 综合久久一区二区三区| 国产成人av影院| 91看片淫黄大片一级| 欧美一区二区福利在线| 国产女人18毛片水真多成人如厕 | 色激情天天射综合网| 91.麻豆视频| 欧美国产精品劲爆| 亚洲18影院在线观看| 国产一区欧美日韩| 在线观看av不卡| 国产日韩高清在线| 日本强好片久久久久久aaa| 亚洲国产精品一区二区久久| 国产美女主播视频一区|