| | |
| | | this.firmwareVersion = "-1".equals(props.getProperty("firmwareVersion")) ? null : props.getProperty("firmwareVersion"); |
| | | this.appVersion = "-1".equals(props.getProperty("appVersion")) ? null : props.getProperty("appVersion"); |
| | | this.idleTrailDurationSeconds = sanitizeIdleTrailDuration(props.getProperty("idleTrailDurationSeconds")); |
| | | |
| | | System.out.println("数据初始化完成"); |
| | | |
| | | } catch (FileNotFoundException e) { |
| | | System.err.println("属性文件未找到: " + PROPERTIES_FILE); |
| | | |
| | | } catch (FileNotFoundException e) { |
| | | // 文件不存在时,设置所有属性为null |
| | | setAllPropertiesToNull(); |
| | | } catch (IOException e) { |
| | | System.err.println("读取属性文件时出错: " + e.getMessage()); |
| | | } catch (IOException e) { |
| | | setAllPropertiesToNull(); |
| | | } |
| | | } |
| | |
| | | this.idleTrailDurationSeconds = durationSeconds; |
| | | value = String.valueOf(durationSeconds); |
| | | break; |
| | | case "mapScale": |
| | | // mapScale不需要在内存中存储,直接更新到文件 |
| | | break; |
| | | default: |
| | | System.err.println("未知的属性名: " + propertyName); |
| | | return false; |
| | | // 对于其他属性,也允许直接更新到文件(不打印错误) |
| | | break; |
| | | } |
| | | |
| | | // 更新properties文件 |
| | |
| | | // 写回文件 |
| | | try (FileOutputStream output = new FileOutputStream(PROPERTIES_FILE)) { |
| | | props.store(output, "Mower Configuration Properties - Updated"); |
| | | System.out.println("属性 " + propertyName + " 已更新为: " + value); |
| | | return true; |
| | | } catch (IOException e) { |
| | | System.err.println("更新属性文件失败: " + e.getMessage()); |