梦幻之旅

DEBUG - 天道酬勤

   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  671 随笔 :: 6 文章 :: 256 评论 :: 0 Trackbacks
package com.roadway.edmail.fboperate;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;

import com.roadway.edmail.fboperate.model.OperateModel;
import com.roadway.edmail.util.StrUtil;
import com.roadway.edmail.util.SysParameters;

public class OperateModelCacheHelper
{
    
/** 日志记录 */
    
private static Logger logger = Logger
            .getLogger(OperateModelCacheHelper.
class.getName());
    
    
/** 未处理的操作模型的文件的路径 */
    
private static String operatedModelPath = SysParameters.basicPath
            
+ "operatingModel.txt";;
    
    
/** 已经处理的操作模型的文件的路径 */
    
private static String operatingModelPath = SysParameters.basicPath
            
+ "operatedModel.txt";
    
    
/**
     * 本方法用于把一个操作模型存入到临时文件
     * 
     * 
@param filePath
     *            文件的路径
     * 
@param model
     *            对像模型
     
*/
    
public static synchronized void model2File(String filePath,
            OperateModel model, 
boolean isAppend)
    {
        
/** 如果对象为NULL */
        
if (model == null)
        {
            
return;
        }
        File operatingFile 
= new File(filePath);
        
/** 如果文件不存在,退出程序 */
        
if (!operatingFile.exists())
        {
            
return;
        }
        FileOutputStream fos 
= null;
        
try
        {
            fos 
= new FileOutputStream(operatingFile, isAppend);
            fos.write(model.toString().getBytes());
        }
        
catch (Exception ex)
        {
            
/** 把异常信息加入到日志 */
            OperateModelCacheHelper.logger.error(StrUtil.getExceptionInfo(ex,
                    
"edm_h"));
        }
        
finally
        {
            
try
            {
                
/** 关闭输入输出流 */
                fos.close();
            }
            
catch (Exception e)
            {   

            }
        }
    }
    
    
/**
     * 
@param filePath
     * 
@return
     
*/
    
public static synchronized List<OperateModel> file2Models(String filePath)
    {
        
/** 装models的集合 */
        List
<OperateModel> models = new ArrayList<OperateModel>();
        File operatingFile 
= new File(filePath);
        
/** 如果文件不存在,退出程序 */
        
if (!operatingFile.exists())
        {
            
return models;
        }
        StringBuffer content 
= new StringBuffer();
        FileInputStream fis 
= null;
        
try
        {
            fis 
= new FileInputStream(operatingFile);
            
byte[] buffer = new byte[1024];
            
int byteRead = 0;
            
while ((byteRead = fis.read(buffer, 0, buffer.length)) != -1)
            {
                content.append(
new String(buffer, 0, byteRead));
            }
        }
        
catch (Exception ex)
        {
            
/** 把异常信息加入到日志 */
            OperateModelCacheHelper.logger.error(StrUtil.getExceptionInfo(ex,
                    
"edm_h"));
        }
        
finally
        {
            
try
            {
                fis.close();
            }
            
catch (Exception ex)
            {}
        }
        String contentStr 
= content.toString();
        
/** 记录日志 */
        OperateModelCacheHelper.logger.debug(
"file2Model的内容为:" + contentStr);
        String[] strModels 
= contentStr.split("\n\r");
        
        OperateModel model 
= null;
        
for (int len = 0; len < strModels.length; len++)
        {
            String[] infos 
= strModels[len].split("[,]");
            
if (infos.length == 3)
            {
                model 
= new OperateModel(infos[0], infos[1], infos[3]);
                models.add(model);
            }
        }
        
return models;
    }
}
posted on 2008-11-04 18:08 HUIKK 阅读(153) 评论(0)  编辑  收藏 所属分类: Java

只有注册用户登录后才能发表评论。


网站导航: