/** * 构造,相对于classes读取文件 * * @param path 相对路径 * @param clazz 基准类 * @param charset 字符集 * @param isUseVariable 是否使用变量 */ public Setting(String path, Class<?> clazz, String charset, boolean isUseVariable) { final URL url = URLUtil.getURL(path, clazz); if (url == null) { throw new RuntimeException(StrUtil.format("Can not find Setting file: [{}]", path)); } this.init(url, charset, isUseVariable); }
/** * 构造 * * @param configFile 配置文件对象 * @param charset 字符集 * @param isUseVariable 是否使用变量 */ public Setting(File configFile, String charset, boolean isUseVariable) { if (configFile == null) { throw new RuntimeException("Null Setting file!"); } final URL url = URLUtil.getURL(configFile); if (url == null) { throw new RuntimeException( StrUtil.format("Can not find Setting file: [{}]", configFile.getAbsolutePath())); } this.init(url, charset, isUseVariable); }
/** * 构造,使用相对于Class文件根目录的相对路径 * * @param pathBaseClassLoader 相对路径(相对于当前项目的classes路径) * @param charset 字符集 * @param isUseVariable 是否使用变量 */ public Setting(String pathBaseClassLoader, String charset, boolean isUseVariable) { if (null == pathBaseClassLoader) { pathBaseClassLoader = StrUtil.EMPTY; } final URL url = URLUtil.getURL(pathBaseClassLoader); if (url == null) { throw new RuntimeException( StrUtil.format("Can not find Setting file: [{}]", pathBaseClassLoader)); } this.init(url, charset, isUseVariable); }