prop.getProperty();
仅加载某些数据,如果我添加了一些新内容或更改了.properties
文件中的字符串名称,并且对其进行了编码也无法加载。
我正在尝试从属性文件中加载一些数据,以将其包含在capability.setCapability
但是问题是某些数据已加载,有些数据为null,我已经尝试了所有方法,但我想知道.properties
文件可以处理多少个变量是否存在限制?
myData.properties文件
pinCode=123456
osname=Android 9
activationCode=13412741 39313106
user=user123456
device=Android Emulator
name=G5 SE
代码
System.out.println(prop.getProperty("name"));
System.out.println(prop.getProperty("user"));
System.out.println(prop.getProperty("device"));
System.out.println(prop.getProperty("osname"));
System.out.println(prop.getProperty("activationCode"));
System.out.println(prop.getProperty("pinCode"));
输出
null
user123456
Android Emulator
null
13412741 39313106
123456
现在应该打印出“名称”,“用户”,“设备”,“ activationCode”,“ pinCode”和“ osname”了吗?
但是它只打印出“用户”,“激活码”,“ pinCode”和“设备”,我将“名称”和“ osname”作为空值。
请注意,如果我在属性文件中更改了字符串名称,并且在代码中也无法正常工作...
例如,如果我将“ pinCode”更改为“ pin”或“ code”,则无法使用。
请帮助这杀死我。
答案 0 :(得分:0)
您可能没有加载正确的文件
一个简单的测试是:
路径
src\test\java\Test.java
src\test\resources\myData.properties
myData.properties
pinCode=123456
osname=Android 9
activationCode=13412741 39313106
user=user123456
device=Android Emulator
name=G5 SE
测试
@Test
public void testProp() throws IOException {
Properties prop = new Properties();
ClassLoader classLoader = getClass().getClassLoader();
File file = new File(Objects.requireNonNull(classLoader.getResource("myData.properties")).getFile());
prop.load(new FileInputStream(file));
System.out.println(prop.getProperty("name"));
System.out.println(prop.getProperty("user"));
System.out.println(prop.getProperty("device"));
System.out.println(prop.getProperty("osname"));
System.out.println(prop.getProperty("activationCode"));
System.out.println(prop.getProperty("pinCode"));
}
输出
G5 SE
user123456
Android Emulator
Android 9
13412741 39313106
123456