Especialização em Sistemas com Java 21 LTS • Capítulo 12


🗺️ Mapa Conceitual do Tópico

flowchart LR
    A["Path.of('vendas.csv')"] -->|"Files.newBufferedReader()"| B["BufferedReader"]
    B -->|Processamento Linha a Linha| C["Mapeamento em Memória"]
    C -->|"Files.newBufferedWriter()"| D["BufferedWriter ('relatorio.json')"]
    
    style A fill:#e1f5fe,stroke:#03a9f4,stroke-width:2px
    style B fill:#fff3e0,stroke:#ff9800,stroke-width:2px
    style D fill:#e8f5e9,stroke:#4caf50,stroke-width:2px

📁 1. Entrada e Saída com java.nio.file

A API NIO.2 (Path, Files, Paths) fornece operações modernas e de alta performance no sistema de arquivos:

  • Files.lines(Path): Leitura preguiçosa de arquivos grandes via Stream.
  • try-with-resources com BufferedReader: Leitura eficiente bufferizada com liberação automática de ponteiros do Windows.

💻 Exemplo Prático e Compilável em Java 21

// ProcessadorArquivo.java - Leitura Bufferizada com NIO.2
package com.empresa.arquivos;

import java.io.BufferedReader;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;

public class ProcessadorArquivo {
    public static long contarLinhas(Path caminho) throws IOException {
        try (BufferedReader reader = Files.newBufferedReader(caminho)) {
            return reader.lines().count();
        }
    }
}

🔗 Recursos Pedagógicos do Capítulo 12

Recurso Didático Finalidade Link de Acesso
📊 Slides de Aula Apresentação visual interativa com Dark Mode e suporte a teclado Ver Slides
🧠 Quiz Formativo Teste interativo de fixação com feedback imediato por alternativa Fazer Quiz
💻 Exemplos de Código Demonstrações funcionais compiláveis com saída no console Ver Exemplos
🧩 Exercícios em 4 Níveis Lista progressiva de fixação com gabarito em bloco colapsável Resolver Exercícios

🛡️ Capítulo Anterior 📚 Sumário de Tópicos 🗄️ Próximo Capítulo