[java] SnakeYAML을 사용하여 YAML 파일의 객체 저장하기
YAML은 인간이 쉽게 읽고 쓸 수 있는 데이터 직렬화 형식입니다. Java에서는 SnakeYAML 라이브러리를 사용하여 YAML 파일을 쉽게 다룰 수 있습니다. 이 글에서는 SnakeYAML을 사용하여 YAML 파일에 객체를 저장하는 방법에 대해 알아보겠습니다.
SnakeYAML 라이브러리 추가하기
먼저, SnakeYAML 라이브러리를 Gradle이나 Maven과 같은 의존성 관리 도구를 통해 프로젝트에 추가해야 합니다. 다음은 Gradle을 사용하는 경우의 예시입니다.
dependencies {
implementation 'org.yaml:snakeyaml:1.28'
}
객체를 YAML 파일로 저장하기
다음으로, YAML 파일에 저장할 객체를 만들고 데이터를 채워줍니다. 아래는 예시로 사용될 Person
클래스입니다.
public class Person {
private String name;
private int age;
// 생성자, getter, setter 등 생략되었습니다.
}
SnakeYAML을 사용하여 Person
객체를 YAML 파일로 저장하기 위해서는 다음과 같은 단계를 따릅니다.
Person
객체 생성DumperOptions
객체 생성 및 설정Yaml
객체 생성Person
객체를 YAML 문자열로 변환- 변환된 YAML 문자열을 파일에 저장
아래 코드는 위 단계를 구현한 예시입니다.
import org.yaml.snakeyaml.DumperOptions;
import org.yaml.snakeyaml.Yaml;
import java.io.FileWriter;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
// Person 객체 생성
Person person = new Person("John Doe", 25);
// DumperOptions 객체 생성 및 설정
DumperOptions options = new DumperOptions();
options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
// Yaml 객체 생성
Yaml yaml = new Yaml(options);
// Person 객체를 YAML 문자열로 변환
String yamlString = yaml.dump(person);
try {
// 변환된 YAML 문자열을 파일에 저장
FileWriter writer = new FileWriter("person.yaml");
writer.write(yamlString);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
위 코드를 실행하면 person.yaml
파일이 생성되고, 파일 내에는 다음과 같은 내용이 저장됩니다.
!!com.example.Person
name: John Doe
age: 25
결론
SnakeYAML을 사용하여 Java에서 YAML 파일로 객체를 저장하는 방법에 대해 알아보았습니다. 위의 예시 코드를 참고하여 자신의 프로젝트에 적용해보세요. SnakeYAML은 Java와 YAML 간의 데이터 변환을 쉽고 편리하게 처리할 수 있도록 도와줍니다.