从www.example.com获取变量config.properties深思熟虑的Java应用程序

k5hmc34c  于 2023-01-04  发布在  Java
关注(0)|答案(2)|浏览(123)

我正在从www.example.com加载变量config.properties到我的主类中,但我如何通过我的应用在这些其他文件中调用这些变量?我需要从多个类中的config.properties和其他java文件中获取hostName,如屏幕截图所示。
这段代码在RFIDMainDlg.java文件中,我想调用www.example.com文件中hostName的值RFIDBase.java
Screenshot

public static void main(String args[]) throws IOException  {

       Properties prop=new Properties();
       FileInputStream ip= new FileInputStream("resources/config.properties");
       prop.load(ip);
                  
       String hostName = prop.getProperty("hostName");
       System.out.println(hostName);
fzsnzjdm

fzsnzjdm1#

你可以使用像https://www.codeproject.com/articles/189489/java-properties-example-using-singleton-pattern这样的Singleton(抱歉网站很丑,但这是一个基本概念),这不是必须的,但它是你的选择之一。

ghhaqwfi

ghhaqwfi2#

该页上的解决方案起作用了

package rfidsample;

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

public class RFIDGetPropertyValues {
    
static private RFIDGetPropertyValues _instance = null;
    String hostName = null;
    String port = null;
    String intensity = null;
    String user = null;
    String pass = null;
    String jdbc = null;
    String driver = null;
    String instance = null;
     
    protected RFIDGetPropertyValues(){
    try{
        InputStream file = new FileInputStream(new File("resources/config.properties")) ;
        Properties props = new Properties();
        props.load(file);
        hostName = props.getProperty("hostName");
        port = props.getProperty("port");
        intensity = props.getProperty("intensity");

       } 
    catch(Exception e){
        System.out.println("error" + e);
       }     
    }
     
    static public RFIDGetPropertyValues instance(){
        if (_instance == null) {
            _instance = new RFIDGetPropertyValues();
        }
        return _instance;
    }
}

那么在我的代码中任何我能调用的地方

RFIDGetPropertyValues dbInfo = RFIDGetPropertyValues.instance();
   String hostName = dbInfo.hostName; 
   String intensity = dbInfo.intensity;

相关问题