从properties配置文件中获取值

/**
     * <p>
     * Gets a property value from given properties.
     * </p>
     *
     * @param properties
     *            the given properties.
     * @param key
     *            the property key.
     * @param defaultValue
     *            the default value.
     * @param required
     *            the flag indicates whether the property is required.
     * @param canEmpty
     *            the flag indicates whether the property can be empty.
     *
     * @return the retrieved property value or the default value if the optional property is not present.
     *
     * @throws ReportRetrievalToolConfigurationException
     *             if the property is missing when required is <code>true</code> or an empty string when canEmpty is
     *             <code>false</code>.
     */
    public static String getProperty(Properties properties, String key, String defaultValue, boolean required,
        boolean canEmpty) {
        String value = properties.getProperty(key);

        if (value == null) {
            // The value is null
            if (required) {
                throw new ReportRetrievalToolConfigurationException("The property '" + key + "' is required.");
            }

            return defaultValue;
        }

        // Trim the value
        value = value.trim();

        if ((value.length() == 0) && (!canEmpty)) {
            // The value is empty
            throw new ReportRetrievalToolConfigurationException("The property '" + key + "' can not be empty.");
        }

        return value;
    }

原文地址:https://www.cnblogs.com/ITEagle/p/1750895.html