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

YAML은 인간 친화적인 데이터 직렬화 형식으로, 많은 프로그래밍 언어에서 지원됩니다.

SnakeYAML은 Java용 YAML 라이브러리로, YAML 파일을 읽고 쓰는 기능을 제공합니다. 이번 포스트에서는 SnakeYAML을 사용하여 YAML 파일을 읽는 방법을 살펴보겠습니다.

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'

의존성을 추가한 후, 프로젝트를 다시 빌드합니다.

YAML 파일 읽기

SnakeYAML을 통해 YAML 파일을 읽는 예제를 살펴보겠습니다.

import org.yaml.snakeyaml.Yaml;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.Map;

public class YamlReader {
    public static void main(String[] args) {
        try {
            InputStream inputStream = new FileInputStream("example.yaml");
            Yaml yaml = new Yaml();
            
            // YAML 파일을 Map으로 로드합니다.
            Map<String, Object> data = yaml.load(inputStream);
            
            // 로드한 데이터를 사용하여 작업을 수행합니다.
            // 예: 데이터 출력
            System.out.println(data);
            
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

위의 예제에서는 example.yaml 파일을 읽고, 읽어온 데이터를 Map<String, Object> 형태로 로드한 후 출력하는 예제입니다.

example.yaml 파일의 내용은 다음과 같습니다:

key1: value1
key2: value2
key3:
  - item1
  - item2
  - item3

실행 결과는 다음과 같습니다:

{key1=value1, key2=value2, key3=[item1, item2, item3]}

SnakeYAML을 사용하여 YAML 파일을 읽는 방법을 살펴보았습니다. SnakeYAML은 유연하고 간편한 API를 제공하여, 다양한 형식의 YAML 파일을 처리할 수 있습니다.

참고 자료