gpt4 book ai didi

java - 从属性文件中读取值

转载 作者:行者123 更新时间:2023-12-01 14:14:24 25 4
gpt4 key购买 nike

我试图读取单独的“GetConfigProperties”类文件中的属性文件并将值传递给主函数“LoginTest.java”。但我无法获得预期的属性值,并且代码中也没有显示错误。

我在 src/config.properties 中有属性文件我的主要功能在 src/com.automation.test -> LoginTest.java我有 java 函数来读取 src/com.library.helper -> GetConfigProperties.java

中的属性文件

下面给出了我读取 Config 属性的代码

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;

public class GetConfigProperties {

//protected File file = new File("config.properties");
protected static Properties props = new Properties();
InputStream is = GetConfigProperties.class.getResourceAsStream("/config.properties");

public static String extractUrlData(){
String webUrl = props.getProperty("webUrl");
return webUrl;
}
}

--另外,我在主 LoginTest.java 中导入了此类文件,并尝试以 GetConfigProperties.ExtractUrlData() 的形式访问获取数据,但失败了。

P.S - 我研究了许多问题和答案,由于我对 Java 完全陌生,因此无法理解它们,因为一切似乎都是独一无二的。

最佳答案

以下是访问属性的方法:

GetConfigProperties.ExtractUrlData();

这将调用静态方法ExtractUrlData()(应称为extractUrlData()以符合Java命名约定)。您不会在任何地方调用 GetConfigPropertiesGetConfigProperties() 方法,这是填充 Properties 对象的地方。

您应该选择:属性是静态的,并且应该在加载类时通过静态方法或静态 block 填充它:

private static Properties props = createAndPopulateProperties();

或者它应该是一个实例字段,可以由类构造函数或其初始化对象的实例方法之一填充。

另一个问题是,运行您的应用程序的用户将该文件放在与您完全相同的文件夹中的可能性非常低(如果他运行的是 Windows)。您应该将属性文件与应用程序的.class文件捆绑在一起(在同一个jar或同一目录中),并使用类加载器加载资源:

InputStream is = GetConfigProperties.class.getResourceAsStream("/config.properties");

关于java - 从属性文件中读取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18251235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com