📊 Capítulo 12: Arquivos & I/O Moderno (java.nio)
Especialização em Sistemas com Java
🗺️ A Evolução de I/O em Java: java.io (Legado) vs java.nio (Moderno)
flowchart LR
subgraph LEGACY ["java.io (Legado)"]
IO1["File, FileReader, FileInputStream\n(Bloqueante / Tratamento de erros pobre / Sem suporte a links simbólicos)"]
end
subgraph MODERN ["java.nio.file (NIO.2 - Padrão Moderno)"]
NIO1["Path, Paths, Files\n(Operações atômicas / Streams integrados / Suporte completo ao SO)"]
end
LEGACY -.-> |"Migrar para"| MODERN
style LEGACY fill:#ffebee,stroke:#d32f2f,stroke-width:2px
style MODERN fill:#e8f5e9,stroke:#4caf50,stroke-width:2px
🎯 Slide 1: A Tríade da API java.nio.file
Path: Representação abstrata e segura de um caminho no sistema de arquivos do SO.Paths/Path.of(): Fábrica conveniente para instanciar caminhos.Files: Coleção de métodos estáticos de alto desempenho para leitura, escrita, cópia e movimentação.
🎯 Slide 2: Lendo e Escrevendo em Uma Linha
Path path = Path.of("relatorio.csv");
// Leitura de todas as linhas de uma vez:
List<String> linhas = Files.readAllLines(path, StandardCharsets.UTF_8);
// Escrita atômica segura:
Files.write(path, linhas, StandardOpenOption.CREATE, StandardOpenOption.APPEND);
🎯 Slide 3: Processamento com Streams de Arquivo
// Não carrega o arquivo inteiro na memória RAM (ideal para arquivos de 10 GB!):
try (Stream<String> lines = Files.lines(path)) {
long totalVendas = lines.filter(l -> l.contains("CONFIRMADO")).count();
}
🔗 Navegação do Capítulo 12
| 📖 Ler Conteúdo Completo | 🧠 Fazer Quiz | 💻 Ver Exemplos | 🧩 Exercícios |
Slide 1 de 1
Atalhos: ← → Navegar • Espaço Avançar • F Tela Cheia • Home Início • End Fim