import com.alibaba.fastjson.JSON; import XXX; import XXX; import org.springframework.stereotype.Service; import java.io.IOException; import java.io.*; import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.List; import java.util.Map; @Service public class XXX implements XXX { @Override public boolean configValidateFlag(String key, String value) { InputStream config = this.getClass().getClassLoader().getResourceAsStream("app-validation/apkConfig.json"); if (config == null) { throw new RuntimeException("读取apk配置文件失败"); } else { String jsonStr = inputStreamToString(config); List<ApkConfigDTO> apkConfigs = JSON.parseArray(jsonStr, ApkConfigDTO.class); Map<String, String> configMap = new HashMap<>(); for (ApkConfigDTO dto : apkConfigs) { configMap.put(dto.getKey(), dto.getValue()); } if (configMap.containsKey(key)) { return value.equals(configMap.get(key)); } } return false; } private static String inputStreamToString(InputStream inputStream) { StringBuilder buffer = new StringBuilder(); InputStreamReader inputStreamReader; try { inputStreamReader = new InputStreamReader(inputStream, StandardCharsets.UTF_8); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String str = null; while ((str = bufferedReader.readLine()) != null) { buffer.append(str); } // 释放资源 bufferedReader.close(); inputStreamReader.close(); inputStream.close(); } catch (IOException e) { throw new RuntimeException(e); } return buffer.toString(); } }
①接口功能:从json文件中读取配置,与入参配置比较,包含该配置返回true,否则返回false
②XXX为公司相关文件
③参考文章: