| | |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | import java.io.*; |
| | | import java.lang.reflect.Field; |
| | | import java.text.DecimalFormat; |
| | | import java.time.LocalTime; |
| | |
| | | /** |
| | | * @描述 实体对象转Map |
| | | * @参数 [entity] |
| | | * @返回值 java.util.Map<java.lang.String,java.lang.Object> |
| | | * @返回值 java.util.Map<java.lang.String, java.lang.Object> |
| | | * @创建人 刘苏义 |
| | | * @创建时间 2023/6/2 14:35 |
| | | * @修改人和其它信息 |
| | |
| | | } |
| | | return map; |
| | | } |
| | | |
| | | /** |
| | | * 求Map<K,V>中最小 Value 对应的Key值 |
| | | * |
| | |
| | | * @return |
| | | */ |
| | | public static String getKeyByMinValue(Map<String, Double> map) { |
| | | if (map == null) return null; |
| | | if (map == null || map.size() == 0) return null; |
| | | List<Map.Entry<String, Double>> list = new ArrayList(map.entrySet()); |
| | | Collections.sort(list, (o1, o2) -> (o1.getValue().intValue() - o2.getValue().intValue())); |
| | | String min = list.get(0).getKey(); |
| | | // String max = list.get(list.size() - 1).getKey(); |
| | | return min; |
| | | } |
| | | |
| | | /** |
| | | * @描述 通过日夜切换时间判断当前使用通道号 |
| | | * @参数 [] |
| | |
| | | * @创建时间 2023/6/17 13:50 |
| | | * @修改人和其它信息 |
| | | */ |
| | | public static Integer getChannelBydayNightTime(String dayNightTime) |
| | | { |
| | | public static Integer getChannelBydayNightTime(String dayNightTime) { |
| | | try { |
| | | // 获取当前时间 |
| | | LocalTime currentTime = LocalTime.now(); |
| | |
| | | } else { |
| | | return 2; |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | log.error("光电切换获取通道异常:"+ex.getMessage()); |
| | | } catch (Exception ex) { |
| | | log.error("光电切换获取通道异常:" + ex.getMessage()); |
| | | return 1; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 文件大小智能转换 |
| | | * 会将文件大小转换为最大满足单位 |
| | | * |
| | | * @param size(文件大小,单位为B) |
| | | * @return 文件大小 |
| | | */ |
| | |
| | | } |
| | | return sizeName; |
| | | } |
| | | |
| | | /** |
| | | * 文件大小智能转换 |
| | | * 会将文件大小转换为最大满足单位 |
| | | * |
| | | * @param size(文件大小,单位为B) |
| | | * @return 文件大小 |
| | | * @return 文件大小 |
| | | */ |
| | | public static String readableFileSize(long size) { |
| | | if (size <= 0) { |
| | |
| | | * byte数组转字符串 |
| | | * 刘苏义 |
| | | * 2023/10/18 8:42:59 |
| | | * |
| | | * @param byteArray |
| | | */ |
| | | public static String byteArrayToString(byte[] byteArray) { |
| | |
| | | } |
| | | return stringBuilder.toString(); |
| | | } |
| | | |
| | | /** |
| | | * 将数据写入txt文件 |
| | | * 刘苏义 |
| | | * 2024/3/8 12:58:39 |
| | | */ |
| | | public static void writeStringToFile(String data, String fileName) { |
| | | |
| | | try { |
| | | File file = new File(fileName); |
| | | boolean fileExists = file.exists(); |
| | | boolean dataExists = false; |
| | | if(fileExists) { |
| | | // 读取文件内容 |
| | | BufferedReader reader = new BufferedReader(new FileReader(fileName)); |
| | | String line; |
| | | while ((line = reader.readLine()) != null) { |
| | | if (line.equals(data)) { |
| | | dataExists = true; |
| | | break; |
| | | } |
| | | } |
| | | reader.close(); |
| | | } |
| | | |
| | | // 如果文件不存在或数据不存在,则追加到文件 |
| | | if (!fileExists || !dataExists) { |
| | | FileWriter writer = new FileWriter(fileName, true); |
| | | writer.write(data + System.lineSeparator()); |
| | | writer.close(); |
| | | if (!fileExists) { |
| | | log.debug("File created and data has been appended."); |
| | | } else { |
| | | log.debug("Data has been appended to the file."); |
| | | } |
| | | } else { |
| | | log.debug("Data already exists in the file. Not appending."); |
| | | } |
| | | } catch (IOException e) { |
| | | log.error("An error occurred."); |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | } |