属性文件在Java中返回null

时间:2016-12-26 16:18:47

标签: java file properties

我试图从属性文件中读取一些属性,但我的代码没有读取属性文件。属性文件位于我机器的某个文件夹中。

这是我的代码:

public String getproperty(){

    String extension="";
    Properties  prop = new Properties ();
    String propname = "\\"+Any location in your machine+"\\fileExtension.properties";
    Logger.debug("ReadFiles", " ----Property file path---- "+ propname, null);
    ip = getClass().getClassLoader().getResourceAsStream(propname);
    Logger.debug("ReadFiles", " ----ip value ---- "+ip, null);
        try {
            if(ip != null){
                prop.load(ip);
                Logger.debug("ReadFiles", " ----Property file loaded---- ", null);
            }

            extension = prop.getProperty("fileExt");
            Logger.debug("ReadFiles", " ----Property =  " + extension, null);

        } catch (IOException e) {
            Logger.error("ReadFiles", " ----Error while loading property file---- ", null);
            e.printStackTrace();
        }
        finally{
            try {
                ip.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return extension;
}

我正在创建一个jar,将它放在服务器的lib文件夹中(安装在我的机器中),并将属性文件放在我的机器中,并在代码中给出相同的路径。我尝试过绝对路径而没有绝对路径。

1 个答案:

答案 0 :(得分:1)

请尝试使用属性文件的绝对路径的此示例。

package com.company;

import java.io.*;
import java.util.Properties;

public class Main {

    public static void main(String[] args) {

        Properties prop = new Properties();
        InputStream input = null;

        try {
            input = new FileInputStream("/home/dac/gs-rest-service/javacode/src/main/java/com/company/config.properties");
            prop.load(input);
            String extension = prop.getProperty("fileExt");
            System.out.println("ReadFiles ----Property =  " + extension);

        } catch (IOException ex) {
            ex.printStackTrace();
        } finally {
            if (input != null) {
                try {
                    input.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

    }

}

测试

cat /home/dac/gs-rest-service/javacode/src/main/java/com/company/config.properties 
#Mon Dec 26 17:31:30 CET 2016
dbpassword=password
database=localhost
dbuser=foobar
fileExt=.xml⏎      

运行程序

ReadFiles ----Property =  .xml