Leggere file YAML in Java con SnakeYAML

Mattepuffo's logo
Leggere file YAML in Java con SnakeYAML

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!


Condividi

Commentami!