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

📄 eventserialmanager.java

📁 java异步事件池
💻 JAVA
字号:
/*
 * Created on 2003-12-8
 *
 * To change the template for this generated file go to
 * Window - Preferences - Java - Code Generation - Code and Comments
 */
package com.product.util.event;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

/**
 * @author Administrator
 *
 * To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Generation - Code and Comments
 */
public class EventSerialManager {
    public static final String FILEPREFIX="Evt" ;
    public static final String FILESUFFIX=".ser" ;
    public static boolean writeEvent(Event evt){
        boolean ret = true ;
        String fileName = evt.serFileName ;
        FileOutputStream fos ;
        try {
            fos = new FileOutputStream(ROOT_PATH+fileName);
            ObjectOutputStream oos = new ObjectOutputStream(fos) ;
            oos.writeObject(evt) ;
            evt.setSerialized(true) ;
            oos.flush() ;
            fos.close() ;
            oos.close() ;
        } catch (FileNotFoundException e) {
            e.printStackTrace();
            ret = false ;
        } catch (IOException e) {
            ret = false ;
            e.printStackTrace();
        }       
        return ret ;
    }
    
    public static Event loadFromFile(String fileName) throws Exception{
        FileInputStream fis = new FileInputStream(fileName) ;
        ObjectInputStream ois = new ObjectInputStream(fis) ;
        Object obj = ois.readObject() ;
        fis.close() ;
        ois.close() ;
        if (null!=obj){
            Event evt = (Event)obj ;
            evt.serFileName=fileName;
            evt.setSerialized(true) ;
            return evt ;
        }        
        return null ;
    }
    
    /**
     * 清除一个Event。
     * @param evt
     */
    public static void deleteEvent(Event evt){
        if (null==evt) return ;
        
        File file = new File(ROOT_PATH+evt.serFileName) ;
        if (file.exists()){
            file.delete() ;            
        }
        file = null ;
        evt = null ;
    }
    
    private static String ROOT_PATH="./ser/" ;
    static{
        File dir = new File(ROOT_PATH) ;
        if (!dir.exists()){
            dir.mkdir() ;
        }
    }
    public static Event[] load(){
        String[] objFiles = new File(ROOT_PATH).list(new FilenameFilter() {
            public boolean accept(File dir, String name) {
                if (name.startsWith(FILEPREFIX)&&name.endsWith(FILESUFFIX)){
                    return true ;
                }
                return false;
            }
        }) ;
        Event[] ret = new Event[objFiles.length] ;
        for (int i = 0; i < ret.length; i++) {
            try {
                ret[i] = loadFromFile(ROOT_PATH+objFiles[i]) ;
            } catch (Exception e) {            
                e.printStackTrace();
                ret[i] = null ;
            }           
        }
        return ret ;
    }
}

⌨️ 快捷键说明

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