java读取properties

来源:互联网 发布:js选项卡特效是什么 编辑:程序博客网 时间:2024/04/29 15:44

本人是新手,在自学java web,再做一个练手项目时,在properties配置文件具体存放位置遇到了问题,现已基本解决,分享一下解决办法,还请高手勿喷。

在程序中载入properties配置文件时,我先在只知道两种办法:1.是利用servlet中的servletContext得到;2.是利用java类加载本地文件的方式得到。下面来具体说一下两种方法:
/1.  首先介绍利用servletContext的方法,这种方法可以直接将properties配置文件放在WebRoot目录下//读取位于WebRoot中的userInfo.properties文件//getResourceAsStream方法会以InputStream方式返回一个IO流InputStream inputStream = this.getServletContext().getResourceAsStream("userInfo.properties");//创建propertiesProperties properties = new Properties();properties.load(inputStream);out.println("username " + properties.getProperty("username"));out.println("password " + properties.getProperty("password"));

“`
//2. 下面介绍一下利用java类加载本地文件的方式

//需要注意的是properties文件的存放位置,我是放在classpath中的,也就Tomcat 7.0\webapps\项目名称\WEB-INF\classes这个目录下面。需要在本地文件夹中手动存放,如果在编译器(我用的myeclipse)下面,是看不到这个目录的。

//再说一下加载方法:
InputStream in = getClass().getClassLoader().getResourceAsStream(“userInfo.properties”);
Properties properties = new Properties();
properties.load(in);

3.jboss读取jboss的conf文件夹中的文件
String MAPPING_PROPERTIES = “resource-alias.properties”;
Properties properties = new Properties(); properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream(MAPPING_PROPERTIES));
我猜想是因为src的.java文件被编译到了class这个目录下,所以想要找到配置文件,还需要将配置文件放在classs目录下。也不知道对不对,还请高手解答。谢谢。

文章补充:在过了将近一个月以后,学习到struts2的时候,在李刚编写的<轻量级Java EE企业应用实战 第二版>一书中,介绍了在“Eclipse生成、部署web项目时,会自动将src路径下除*.java外的所有文件都复制到web应用的classes路径下”,所以,我认为,关于property文件的存放位置,我们也可以使用该机制。直接在项目的src中新建property文件,这样项目部署的时候,就可以自动放在classes路径下,而不需要手动的配置了。
0 0
原创粉丝点击