1
resposta

[Projeto] Solução desafio 4

Veiculo

package Desafios.VeiculoComJson;

public class Veiculo {
    private String tipo;
    private String cor;
    private String modelo;
    private double peso;

    public Veiculo(String tipo, String cor, String modelo, Double peso){
        this.tipo = tipo;
        this.cor = cor;
        this.modelo = modelo;
        this.peso = peso;
    }

    public String getTipo() {
        return tipo;
    }

    public String getCor() {
        return cor;
    }

    public String getModelo() {
        return modelo;
    }

    public double getPeso() {
        return peso;
    }

    @Override
    public String toString() {
        return "Veiculo{" +
                "tipo='" + tipo + '\'' +
                ", cor='" + cor + '\'' +
                ", modelo='" + modelo + '\'' +
                ", peso=" + peso +
                '}';
    }
}

EscritorArquivo

package Desafios.VeiculoComJson;

import java.io.FileWriter;
import java.io.IOException;

public class EscritorArquivo {
    private final String arquivo;
    private final String conteudo;

    public EscritorArquivo(String arquivo, String conteudo) throws IOException {
        this.arquivo = arquivo;
        this.conteudo = conteudo;
    }

    public String escrever(){
        try {
            FileWriter escrita = new FileWriter(arquivo);
            escrita.write(conteudo);
            escrita.close();
            return "Criado com sucesso";
        } catch (IOException e) {
            return "Erro ao criar arquivo: "+e.getMessage();
        }
    }

}

Principal

package Desafios.VeiculoComJson;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

import java.io.FileWriter;
import java.io.IOException;

public class Principal {
    public static void main(String[] args) throws IOException {
        Veiculo carro = new Veiculo("carro", "azul", "skyline", 1.000);
        Gson gson = new GsonBuilder()
                .setPrettyPrinting()
                .create();

        String carroToJson = gson.toJson(carro);
        EscritorArquivo escritor = new EscritorArquivo("carro.json", carroToJson);
        String response = escritor.escrever();
        System.out.println(carroToJson);
        System.out.println(response);
    }
}
1 resposta

Olá, Iago. Tudo bem?

Muito obrigado por compartilhar o seu código aqui com a gente. Parabéns pelo trabalho. Continue com essa dedicação.

Ótimo como você usou a biblioteca Gson para converter o objeto Veiculo em JSON. A estrutura do código está bem organizada, e a classe EscritorArquivo faz sentido para separar a responsabilidade da escrita no arquivo.

Uma curiosidade: você pode melhorar a escrita do arquivo usando o try-with-resources, que fecha automaticamente o FileWriter. Veja este exemplo:


public String escrever() {
    try (FileWriter escrita = new FileWriter(arquivo)) {
        escrita.write(conteudo);
        return "Criado com sucesso";
    } catch (IOException e) {
        return "Erro ao criar arquivo: " + e.getMessage();
    }
}

Isso evita possíveis vazamentos de recursos.

  Alura   Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!