java - java获取以特定字符串结尾的环境变量
问题描述
我需要从以特定字符串结尾的系统变量中获取 2 个环境变量。字符串是 PORT & HOST。例如,我有以下变量:
TEST_SERVICE1_PORT = 80
TEST_SERVICE1_HOST = 0.0.0.0
TEST_SERVICE2_PORT = 78
TEST_SERVICE2_HOST = 1.1.1.1
TEST_SERVICE3_PORT = 90
TEST_SERVICE3_HOST = 2.2.2.2
TEST_SERVICE4_PORT = 100
TEST_SERVICE4_HOST = 3.3.3.3
加上其他系统变量
这是我能做的:
var map = System.getenv().entrySet().stream()
.filter(x -> x.getKey().endsWith(serviceName + "_PORT" ) || x.getKey().endsWith(serviceName + "_HOST"))
.collect(Collectors.toMap(x -> x.getKey(), x -> x.getValue()));
// serviceName is a custom input
例如,如果 servicename 是 SERVICE1,则映射将具有前 2 个变量。
从这张地图中,我需要获取 PORT & HOST 值。
我怎样才能做到这一点?我必须再次过滤结果地图还是有更好的方法?在此先感谢您的帮助
解决方案
推荐阅读
- java - 重命名文件与文件混淆
- dart - Flutter - 在小部件之间传递数据
- angular - 无法在 DashboardComponent 中读取未定义的属性“管道”
- javascript - Jquery:在动态添加的输入控件上未触发 Keyup 事件
- android - 将Imageviews并排放置android studio
- html - 如何将 if,else endif 放入 html 标签 laravel 5.7
- laravel-5 - 如何在 laravel 视图中传递函数?
- angular - Angular 5将html转换为pdf
- php - 回显内连接到 $row
- angular - 将值传递给组件html的Angular 7问题