我是靠谱客的博主 缥缈芹菜,最近开发中收集的这篇文章主要介绍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路径不正确(例:{工程路径}targettest-classes),就去查看工程的【属性】--》[JAVA

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

POINT:

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

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

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

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

 

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

最后

以上就是缥缈芹菜为你收集整理的java application中配置文件的读取的全部内容,希望文章能够帮你解决java application中配置文件的读取所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部