java application中配置文件的读取

本人遇到的问题,作为笔记将过程记录一下。

 

前提:

由于项目需要,本人使用MAVEN来构建项目,因此,目录结构中会自动生成以下的几个目录:

src/main

src/resource

test/main

test/resource

为了以后的扩展,在

src/resource下建立包(例:cn.sh.property),作成了一个配置文件(例:test.properties),使用以下在程序来读取文件,结果由于找不到配置文件,读取文件失败。

Class PropertyFileUtils {

    public static void main(String[] arg) {

        ClassLoader cl = PropertyFileUtils.class.getClassLoader();

      Properties props = new Properties();
        try
        {
            InputStream inputStream = null;
            try
            {
                inputStream = cl.getResourceAsStream(
                    "test.properties");   --------1.此处为属性文件PaTH

                props.load( inputStream );
            }
            finally
            {
                if (inputStream != null)
                {
                    inputStream.close();
                }
            }
        }
        catch (IOException ioe)
        {
            System.err.println("Cannot get default properties: " + ioe.getMessage());
        }

}

 

一开始找不到配置文件的路径,所以对cl 进行监视,结果发现工程的URL路径不正确(例:{工程路径}\target\test-classes),就去查看工程的【属性】--》[JAVA

的编译路径】,在[SOURCE]中,果然发现出力的路径不正确认,修改成:{工程路径}\target\classes),之后又将上述1的地方改为(/cn/sh/property/test.properties)就基本上成功了。

POINT:

1.虽然在MAVEN工程中,自动生成了SRC/MAIN等文件夹,但它与最终出力文件的PACKAGE没有关系,如:在SRC/MAIN下,作成PACKAGE(如:cn.sh),在出力的目录下面,直接会生成cn\sh的文件夹,而不会有生成的它们的父目录SRC/MAIN

2.一定要确认好出力的目录

3.配置文件不一定要放在出力文件下面,如:放在SRC/RESOURCE中,作成cn.sh/aa.propeties文件时,在MAVEN编译后,会自动将cn.sh/aa.propeties文件放至出力目录中。

4.例中1 的地方,只需要记入文件在出力目录中的相对路径即可。

 

由于本人使用日文OS,所以,输出路径符为“\\”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值