3
respostas

Resolução do 4 exercicio

Atividade 1: Escrever mensagem em arquivo .txt

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

public class EscreverArquivo {
    public static void main(String[] args) {
        String conteudo = "Conteúdo a ser gravado no arquivo.";
        String nomeArquivo = "arquivo.txt";

        try {
            // Cria um FileWriter para escrever no arquivo.
            // O 'true' no construtor indica que o modo é de append (adicionar ao final),
            // se o arquivo não existir, ele será criado. Se for 'false' ou omitido,
            // o arquivo será sobrescrito.
            FileWriter writer = new FileWriter(nomeArquivo);

            // Escreve o conteúdo no arquivo
            writer.write(conteudo);

            // Fecha o writer para liberar os recursos do sistema
            writer.close();

            System.out.println("Mensagem gravada com sucesso em '" + nomeArquivo + "'");

        } catch (IOException e) {
            // Captura e imprime qualquer erro de I/O que possa ocorrer
            System.err.println("Ocorreu um erro ao escrever no arquivo: " + e.getMessage());
            e.printStackTrace();
        }
    }
}

Atividade 2: Serializar um objeto Titulo para JSON (básico) XML

<dependencies>
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.10.1</version>
    </dependency>
</dependencies>

**Código Java:

Classe Titulo.java:

**Java

public class Titulo {
    private String nome;
    private int anoLancamento;
    private String genero;

    // Construtor
    public Titulo(String nome, int anoLancamento, String genero) {
        this.nome = nome;
        this.anoLancamento = anoLancamento;
        this.genero = genero;
    }

    // Getters (pode adicionar setters se necessário, mas para serialização não são obrigatórios)
    public String getNome() {
        return nome;
    }

    public int getAnoLancamento() {
        return anoLancamento;
    }

    public String getGenero() {
        return genero;
    }
}

Classe SerializaTitulo.java:

**Java **

import com.google.gson.Gson;

public class SerializaTitulo {
    public static void main(String[] args) {
        // 1. Instancia um objeto Titulo
        Titulo meuFilme = new Titulo("O Poderoso Chefão", 1972, "Crime/Drama");

        // 2. Cria uma instância de Gson
        Gson gson = new Gson();

        // 3. Serializa o objeto Titulo para JSON
        String json = gson.toJson(meuFilme);

        // 4. Imprime o resultado
        System.out.println("JSON do objeto Titulo (básico):");
        System.out.println(json);
    }
}

Atividade 3: Modificar o programa anterior para JSON formatado (setPrettyPrinting) Java

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

public class SerializaTituloFormatado {
    public static void main(String[] args) {
        // 1. Instancia um objeto Titulo
        Titulo meuFilme = new Titulo("O Poderoso Chefão", 1972, "Crime/Drama");

        // 2. Cria uma instância de GsonBuilder para configurar o Gson
        GsonBuilder builder = new GsonBuilder();

        // 3. Habilita o pretty printing
        builder.setPrettyPrinting();

        // 4. Constrói a instância de Gson com a configuração
        Gson gson = builder.create();

        // 5. Serializa o objeto Titulo para JSON
        String json = gson.toJson(meuFilme);

        // 6. Imprime o resultado
        System.out.println("JSON do objeto Titulo (formatado com pretty printing):");
        System.out.println(json);
    }
}

Atividade 4: Definir e serializar um objeto Veiculo para JSON JAVA

public class Veiculo {
    private String marca;
    private String modelo;
    private int anoFabricacao;
    private double preco;

    // Construtor
    public Veiculo(String marca, String modelo, int anoFabricacao, double preco) {
        this.marca = marca;
        this.modelo = modelo;
        this.anoFabricacao = anoFabricacao;
        this.preco = preco;
    }

    // Getters (pode adicionar setters se necessário)
    public String getMarca() {
        return marca;
    }

    public String getModelo() {
        return modelo;
    }

    public int getAnoFabricacao() {
        return anoFabricacao;
    }

    public double getPreco() {
        return preco;
    }
}
3 respostas

Classe SerializaVeiculo.java:

Java

import com.google.gson.Gson;
import com.google.gson.GsonBuilder; // Para formatar o JSON, se desejar

public class SerializaVeiculo {
    public static void main(String[] args) {
        // 1. Instancia um objeto Veiculo
        Veiculo meuCarro = new Veiculo("Ford", "Fusion", 2020, 95000.00);

        // 2. Cria uma instância de Gson (com pretty printing para melhor visualização)
        Gson gson = new GsonBuilder().setPrettyPrinting().create();

        // 3. Serializa o objeto Veiculo para JSON
        String json = gson.toJson(meuCarro);

        // 4. Imprime o resultado
        System.out.println("JSON do objeto Veiculo:");
        System.out.println(json);
    }
}

Oi, Daiane! Como vai?

Gostei muito da forma como você organizou e implementou cada atividade, principalmente a serialização para JSON utilizando o Gson. Isso mostra que você está dominando bem o uso de bibliotecas externas e a manipulação de arquivos em Java.

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

Bom dia Armano!!

Muito Obrigada.