String key = "1";
    Properties prop = new Properties();
    try {
        ClassLoader loader = Thread.currentThread().getContextClassLoader();
        InputStream inStream = loader.getResourceAsStream("1.properties");
        prop.load(new InputStreamReader(inStream, "GBK"));
        inStream.close();
        if (prop.containsKey(key)) {
            System.out.println(prop.get(key));
        } else {
            String otherKey = 1 + "-other";
            System.out.println(prop.get(otherKey));
        }
    } catch (Exception e) {
        throw new Exception("未找到配置!");
    }
}

最后发现prop.contains()方法应该传入的是一个对象,判断不了key存不存在,判断key应该用containsKey😭

prop.clear(); // 清空
prop.containsKey("key"); // 是否包含key
prop.containsValue("value"); // 是否包含value
prop.entrySet(); // prop的Map.Entry集合
prop.getProperty("key"); // 通过key获取value
prop.put("key", "value"); // 添加属性
prop.list(new PrintStream(new File(""))); // 将prop保存到文件
prop.store(new FileOutputStream(new File("")), "注释"); // 和上面类似
最后修改:2021 年 06 月 02 日 04 : 02 PM