java 读写yaml文件
时间: 2025-03-27 07:39:33 AIGC 浏览: 43
### 使用Java读取和写入YAML文件
为了实现这一目标,SnakeYAML 库是一个广泛使用的工具。该库允许开发者轻松解析并生成 YAML 文档。
#### 添加依赖项
对于 Maven 构建项目,在 `pom.xml` 中加入如下配置来引入 SnakeYAML:
```xml
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>2.0</version>
</dependency>
```
#### 创建数据模型类
定义一个简单的 Java 类用于映射 YAML 数据结构。例如创建名为 Config 的 POJO 来表示应用程序设置[^1]。
```java
public class Config {
private String databaseUrl;
private int port;
// Getters & Setters omitted for brevity.
}
```
#### 读取 YAML 文件
通过加载外部资源或字符串形式的内容到内存中完成读操作。下面展示了如何从 ClassPath 下指定路径获取配置信息。
```java
import org.yaml.snakeyaml.Yaml;
// ...
InputStream inputStream = TypeReference.class.getClassLoader()
.getResourceAsStream("application.yml");
Yaml yaml = new Yaml();
Config config = yaml.loadAs(inputStream, Config.class);
System.out.println(config.getDatabaseUrl());
System.out.println(config.getPort());
```
#### 编写 YAML 文件
同样利用 SnakeYAML 实现对象序列化成 YAML 格式的文本输出至文件系统或其他目的地。这里给出保存上述 Config 对象实例的例子。
```java
DumperOptions options = new DumperOptions();
options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
Yaml yaml = new Yaml(options);
String output = yaml.dump(config);
FileWriter writer = null;
try {
writer = new FileWriter(new File("/path/to/output/file"));
} catch (IOException e) {
throw new RuntimeException(e);
}
yaml.dump(config, writer);
```
阅读全文
相关推荐
















