Leggere file YAML in Java con SnakeYAML
SnakeYAML è una libreria per Java per leggere e manipolare file YAML.
Oggi vediamo come leggere un file usando una classe custom.
Cominciamo con l'installare la libreria; se usate Maven:
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>1.30</version>
</dependency>
Poi creiamo un file YAML dentro alla cartella resources (test.yaml):
nome: "Mirco"
cognome: "Mirchi"
eta: 20
Questa la nostra classe Persona:
public class Persona {
private String nome;
private String cognome;
private int eta;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCognome() {
return cognome;
}
public void setCognome(String cognome) {
this.cognome = cognome;
}
public int getEta() {
return eta;
}
public void setEta(int eta) {
this.eta = eta;
}
}
Infine leggiamo i valori:
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.Constructor;
import java.io.InputStream;
public class Main {
public static void main(String[] args) {
Yaml yaml = new Yaml(new Constructor(Persona.class));
InputStream inputStream = Main.class
.getClassLoader()
.getResourceAsStream("test.yaml");
Persona persona = yaml.load(inputStream);
System.out.println(persona.getNome());
System.out.println(persona.getCognome());
System.out.println(persona.getEta());
}
}
Non è obbligatorio usare una classe custom; ma secondo è preferibile sia per lettura del codice, sia per apportare eventuali modifiche.
Enjoy!
java yaml snakeyaml maven
Commentami!