[java] SnakeYAML을 사용한 YAML 파일의 속성 읽기

이번에는 Java에서 SnakeYAML 라이브러리를 사용하여 YAML 파일의 속성을 읽어오는 방법에 대해 알아보겠습니다. SnakeYAML은 YAML 형식의 데이터를 파싱하고 생성하기 위한 유용한 도구입니다.

1. SnakeYAML 라이브러리 추가하기

SnakeYAML을 사용하기 위해서는 먼저 프로젝트에 해당 라이브러리를 추가해야 합니다. Maven을 사용하는 경우 pom.xml 파일에 다음의 의존성을 추가하세요:

<dependency>
    <groupId>org.yaml</groupId>
    <artifactId>snakeyaml</artifactId>
    <version>1.27</version>
</dependency>

Gradle을 사용하는 경우 build.gradle 파일에 다음을 추가하세요:

implementation 'org.yaml:snakeyaml:1.27'

2. YAML 파일 읽어오기

다음은 SnakeYAML을 사용하여 YAML 파일을 읽어오는 간단한 예제입니다. data.yml 파일에는 다양한 속성들이 정의되어 있습니다.

import org.yaml.snakeyaml.Yaml;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Map;

public class YamlReader {

    public static void main(String[] args) {
        try (InputStream input = new FileInputStream("data.yml")) {
            Yaml yaml = new Yaml();
            Map<String, Object> data = yaml.load(input);
            
            // 속성 출력하기
            System.out.println("name: " + data.get("name"));
            System.out.println("age: " + data.get("age"));
            System.out.println("email: " + data.get("email"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위 예제에서는 Yaml 클래스를 사용하여 YAML 파일을 파싱합니다. Yaml.load() 메서드를 통해 YAML 파일의 내용을 Map<String, Object> 형태로 반환받습니다. 그 후, 각 속성을 출력하는 예제를 보여줍니다.

3. 실행 결과

위 예제를 실행하면 data.yml 파일의 속성 값들이 출력됩니다. 예를 들어, data.yml 파일이 다음과 같이 정의되어 있다면:

name: John Doe
age: 30
email: johndoe@example.com

다음과 같은 결과가 출력됩니다:

name: John Doe
age: 30
email: johndoe@example.com

결론

SnakeYAML을 사용하면 YAML 형식의 데이터를 손쉽게 읽어올 수 있습니다. 이를 통해 프로젝트에서 YAML 파일을 사용하는 경우 YAML의 속성을 쉽게 파싱하고 다룰 수 있습니다.

참고 자료