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

YAML은 인간이 쉽게 읽고 쓸 수 있는 데이터 직렬화 형식입니다. Java에서는 SnakeYAML 라이브러리를 사용하여 YAML 파일을 쉽게 처리할 수 있습니다. 이번 포스트에서는 SnakeYAML을 사용하여 YAML 파일의 배열을 읽는 방법을 알아보겠습니다.

SnakeYAML이란?

SnakeYAML은 YAML을 파싱하고 생성하는 Java 라이브러리입니다. SnakeYAML을 사용하면 YAML 포맷의 데이터를 자바 객체로 변환하거나, 자바 객체를 YAML 포맷으로 직렬화할 수 있습니다.

Step 1: SnakeYAML 라이브러리 추가하기

먼저, 프로젝트에 SnakeYAML을 추가해야 합니다. Maven을 사용한다면 pom.xml 파일에 다음 의존성을 추가합니다:

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

Gradle을 사용한다면 build.gradle 파일에 다음 의존성을 추가합니다:

dependencies {
    implementation 'org.yaml:snakeyaml:1.27'
}

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

Step 2: YAML 파일 읽기

이제 SnakeYAML을 사용하여 YAML 파일의 배열을 읽어오는 코드를 작성해보겠습니다. 예를 들어, 다음과 같은 YAML 파일이 있다고 가정해보겠습니다:

fruits:
  - apple
  - banana
  - orange

SnakeYAML을 사용하여 이 파일의 배열을 읽으려면 다음과 같이 코드를 작성합니다:

import org.yaml.snakeyaml.Yaml;

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

public class Main {
    public static void main(String[] args) {
        Yaml yaml = new Yaml();

        try {
            FileInputStream inputStream = new FileInputStream("path/to/your/yaml/file.yaml");
            Map<String, List<String>> data = yaml.load(inputStream);
            List<String> fruits = data.get("fruits");

            for (String fruit : fruits) {
                System.out.println(fruit);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

위의 코드에서 path/to/your/yaml/file.yaml 부분을 실제 YAML 파일의 경로로 변경해야 합니다. 코드를 실행하면 YAML 파일에서 배열을 읽어와서 출력할 수 있습니다.

결론

이번 포스트에서는 SnakeYAML을 사용하여 YAML 파일의 배열을 읽는 방법을 알아보았습니다. SnakeYAML은 다양한 YAML 형식을 처리할 수 있으므로 유용한 라이브러리입니다. YAML 파일을 자바 객체로 변환하거나, 자바 객체를 YAML로 직렬화할 때 SnakeYAML을 사용해보세요.


참고 자료