免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1057 | 回复: 0
打印 上一主题 下一主题

读取.property文件得到Hashtable [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-10-26 18:14 |只看该作者 |倒序浏览
项目跟踪系统中初始化中web.xml文件和读取.property文件
1.首先在web.xml中配置SERVLET.部分代码如下:

  Init
  cn.org.genomics.erp.config.InitServlet
  
   configFile
   ..\\property\\InitServlet
  
  2



2.登陆系统是启动的一个SERVLET如下:
import java.io.FileNotFoundException;
import java.util.Date;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
public class InitServlet extends HttpServlet  {
    /**
     * Initializes the servlet.
     * @throws FileNotFoundException
     */
    public void init(ServletConfig config) throws ServletException {
        super.init(config);//初始化ServletConfig
        String configFile = config.getInitParameter("configFile");//此处就可以通过web.xml文件中配置的configFile得到一个初始化参数.
        try{
         new ReadPropertyfile(configFile);//自己写一个ReadPropertyfile的CLASS
        }catch(FileNotFoundException ex){
         ex.printStackTrace();
        }      
    }
    /**
     * Destroys the servlet.
     */
    public void destroy() {
        System.out.println("shutdown InitServlet.java: " + new Date());
    }
}



3 ReadPropertyfile的代码如下:
/**
     * 从指定文件中获得属性
     * 从指定的属性文件中获得详细的属性。该方法以行为单位读入文件,不支持跨
行的
     * 属性。读取从每一行的非空字符(空格和Tab为空字符)开始,到一行的非空字
符为
     * 止,等号两端的空字符将被忽略。
     * 本方法支持属性文件中注释,注释行第一个非空字符应为"#"或"!",或者注释
行用
     * "["和"]"包围。
     * @param file 属性文件
     */
    public static java.util.Properties getProperties(File file) throws
FileNotFoundException, IOException{
        java.util.Properties prop = new java.util.Properties();
        //检测文件是否存在
        if (!file.exists()) {
            throw new FileNotFoundException("文件"+file+"无法找到!");
        }
        //读取配置文件中配置并存到java.util.Properties中
        BufferedReader in = new BufferedReader(new FileReader(file));
        String s = null;
        String[] temp = null;
        while ((s = in.readLine()) != null) {
            if(s.indexOf('=')==-1)
                continue;
            temp = s.split("=",2);
            temp[0] = temp[0].trim();
            temp[1] = temp[1].trim();
            if(temp[0].startsWith("#")||temp[0].startsWith("!"))
                continue;
            if(temp[0].startsWith("[")&&temp[1].endsWith("]"))
                continue;
            prop.put(temp[0], temp[1]);
        }
        in.close();
        s = null;
        properties.putAll(prop);
        return prop;
    }

configFile配置文件如下:
################################################################################
#命名规范:                                                                                #
#   所有文件夹名字均以Dir结束,在初始化中程序将建立配置文件中所有指明的文件夹                 #
#   所有文件名字均以File结束,在初始化中程序将建立一个空文件                                 #
################################################################################
[基本信息配置]
#web服务所在目录
webBaseDir = C:/Program Files/Apache Software Foundation/Tomcat 5.5/webapps/erp_2
#服务器端放置文件的主目录
fileBaseDir = C:/Program Files/Apache Software Foundation/Tomcat 5.5/webapps/erp_2/WEB-INF/project
#服务器端临时文件的主目录
tempDir = C:/Program Files/Apache Software Foundation/Tomcat 5.5/webapps/erp_2/WEB-INF/temp
#日志文件存放的主目录
logDir = C:/Program Files/Apache Software Foundation/Tomcat 5.5/webapps/erp_2/WEB-INF/logs
[日志记录配置]
#系统总日志
mainLog = %logDir%/main
#高原数据库日志文件
altiplanoLog = %logDir%/altiplano/altiplano
#组织部门管理日志文件
organizationLog = %logDir%/organization/organization
#人力资源管理日志文件
humanLog = %logDir%/humanresource/human
#合同项目管理日志文件
contractLog = %logDir%/contract/contract
#项目到款管理系统日志文件
paymentLog = %logDir%/payment/payment
#项目预算管理系统日志文件
budgetLog = %logDir%/budget/budget
#项目跟踪管理系统日志文件
projectLog = %logDir%/project/project
[文件夹配置]
#个人照片文件上传位置配置
personalPhototempDir = %tempDir%/altiplano/personal
personalPhotoDir = %fileBaseDir%/altiplano/personal
#PDA中XML文件上传位置配置
pdaTempDir = %tempDir%/altiplano/pda
pdaDir = %fileBaseDir%/altiplano/pda
#多参仪文件上传位置配置
paraTempDir = %tempDir%/altiplano/para
paraDir = %fileBaseDir%/altiplano/para
[session内置管理dataMap配置]
#dataMap中超时最大存储时间,单位为秒
dataMap.TimeoutCheck = 1200
#dataMap中最多存放的数据个数
dataMap.maxMapSize = 100






本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/25176/showart_191088.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP