当前位置: 首页 > news >正文

网站建设负责人证明dedecms做地方网站

网站建设负责人证明,dedecms做地方网站,宿迁网站优化,一级a做爰片免费网站短视频文章目录 前言引入包yaml原始内容操作目标具体代码执行查看结果总结: 前言 之前有个需求,动态修改ubuntu20的ip,看了下: 本质上是修改01-netcfg.yaml文件,然后执行netplan apply就可以了。 所以,需求就变成了 如何对ya…

文章目录

    • 前言
    • 引入包
    • yaml原始内容
    • 操作目标
    • 具体代码
    • 执行
    • 查看结果
    • 总结:

前言

之前有个需求,动态修改ubuntu20的ip,看了下: 本质上是修改01-netcfg.yaml文件,然后执行netplan apply就可以了。
所以,需求就变成了 如何对yaml文件的内容进行读取,修改,写入。

引入包

其实springboot提供了2个maven的包用于解析yaml(springboot的各种配置文件都是yaml),引入:

	<!-- Jackson (用于JSON处理) --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId></dependency><!-- SnakeYAML (用于YAML解析和生成) --><dependency><groupId>org.yaml</groupId><artifactId>snakeyaml</artifactId></dependency>

yaml原始内容

network:version: 2renderer: networkdethernets:eth0:dhcp4: falseaddresses:- 192.168.150.1/24optional: trueeth1:dhcp4: falseaddresses:- 192.168.150.1/24optional: trueenp3s0:dhcp4: trueaddresses: []dhcp-identifier: macoptional: trueenp4s0:dhcp4: trueaddresses: []dhcp-identifier: macoptional: trueenp6s0:dhcp4: trueaddresses: []dhcp-identifier: macoptional: trueenp7s0:dhcp4: trueaddresses: []dhcp-identifier: macoptional: trueenp8s0:dhcp4: falseaddresses:- 192.168.150.1/24dhcp-identifier: macoptional: true

操作目标

目前的配置文件etho网卡是动态的获取ip,现在把配置文件ech修改如下:
固定ip:dhcp4 --》 false
添加网卡: gateway4: 172.16.10.254
设置ip地址:
设置dns,不然不能上外网
在这里插入图片描述

具体代码

public static void main(String[] args) {try {// Step 1: 读取YAML文件并加载为Map, 输入YAML文件路径InputStream inputStream = new FileInputStream("01-netcfg.yaml");Yaml yaml = new Yaml();Map<String, Object> yamlMap = yaml.load(inputStream);// Step 2: 使用ObjectMapper将Map转换为JSON字符串ObjectMapper om = new ObjectMapper();String jsonStr = om.writeValueAsString(yamlMap);// Step 3: 将JSON字符串解析成JsonNode,便于修改JsonNode rootNode = om.readTree(jsonStr);// Step 4: 修改eth0节点JsonNode ethernetsNode = rootNode.path("network").path("ethernets");// 获取eth0节点并修改其值JsonNode eth0Node = ethernetsNode.path("eth0");// 创建新的eth0配置((ObjectNode) eth0Node).put("dhcp4", false);((ObjectNode) eth0Node).putArray("addresses").add("172.16.10.43/24");((ObjectNode) eth0Node).put("gateway4", "172.16.10.254");// 设置新的DNS地址作为数组JsonNode nameserversNode = eth0Node.path("nameservers");// 使用ArrayNode来生成数组格式ArrayNode arrayNode = om.createArrayNode();arrayNode.add("114.114.114.114");arrayNode.add("8.8.8.8");arrayNode.add("8.8.4.4");((ObjectNode) nameserversNode).set("addresses", arrayNode);// Step 5: 将修改后的JsonNode转换为Map,这里就是将JsonNode转换为MapMap<String, Object> modifiedMap = om.convertValue(rootNode, Map.class);// Step 6: 使用SnakeYAML将修改后的Map转换为YAML格式DumperOptions options = new DumperOptions();options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);Yaml yamlWriter = new Yaml(options);StringWriter stringWriter = new StringWriter();yamlWriter.dump(modifiedMap, stringWriter);// Step 7: 将新的YAML写回文件try (BufferedWriter writer = new BufferedWriter(new FileWriter("01-netcfg.yaml"))) {writer.write(stringWriter.toString());}System.out.println("YAML updated successfully!");} catch (IOException e) {e.printStackTrace();}

执行

在这里插入图片描述

查看结果

在这里插入图片描述
显示已经修改!!

总结:

文章主要介绍了如何使用Java操作YAML文件,具体实现了读取、修改和写入YAML文件的过程。通过引入Jackson和SnakeYAML两个包,实现了将YAML文件内容转换为Map,然后再将Map修改后重新转换为YAML格式并写回文件。

在具体操作目标上,通过代码示例实现了将原始YAML文件中的某一节点进行修改,包括修改网络配置,设置固定IP地址、网关、DNS等。最后展示了执行结果,并验证配置已经修改成功。

通过本文的示例,读者可以了解如何在Java中操作YAML文件,实现对YAML配置文件的动态修改,为实际项目中类似需求提供了解决思路和代码实现。


本文完

http://www.yayakq.cn/news/577976/

相关文章:

  • 网站建设多少钱十年乐云seo做电子元器件销售什么网站好
  • 做诚信通谁给做网站seo优化外包
  • 营销网站都有哪些建站需要什么软件
  • 企业网站设计请示北京建网站多少钱
  • 特色网站设计做网站 找风投
  • 网站建设与管理个人总结网站建设分金手指排名一
  • 赛罕区城乡建设局网站山东建设厅证件查询网址
  • 网站建设三网学会了php的语法怎么做网站
  • 邢台建设企业网站wordpress可以做电商吗
  • 怎么做网站内容品牌营销策划英文
  • 做塑料的网站网站建设 中企动力南昌
  • 经典网站欣赏、西宁网站设计制作
  • 在阿里巴巴做网站嵌入式软件开发面试
  • 网站开发游戏开发网站免费观看永久视频下载
  • app 网站运营ppt国外网站模板
  • 电子商务网站建设策划书 服装 有详细数据库设计20个著名wordpress公司
  • wap自助建站排板做网站开发所需的知识技能
  • 吉林房地产网站开发用户登录网站开发
  • 网站的发布与推广方式利用影视网站做cpa
  • 找人做网站去哪里找网站建设绵阳辉煌电商
  • 海南医院网站建设江苏省建设工程质量监督网站
  • root.txt文件放到您网站的根目录下北京seo薪资
  • 移动网站设计尺寸招聘网站开发实训报告
  • 网站建设难点分析网站建设的扁平化设计
  • 网站建设纳千网络wordpress置顶无效
  • 网站建设人群定位没有域名 怎么做网站链接
  • 网站建设公司后端招聘要求专业网站建设网站开发公司
  • 做网站需要服务器查询吗wordpress用思源黑体
  • 长春火车站位置wordpress图片自动下载
  • 自适应单页网站模板wordpress风影