lezione 05

file i/o e nio

lettura e scrittura file con api moderne.

livello: base durata: 26 min output: file handling badge: file io

paths e file

import java.nio.file.*;

Path file = Path.of("notes.txt");

leggere contenuto

String text = Files.readString(file);
System.out.println(text);

scrivere contenuto

Files.writeString(file, "hello", StandardOpenOption.CREATE);

streaming

per file grandi, usa stream per gestire memoria.

try (var lines = Files.lines(file)) {
    lines.forEach(System.out::println);
}

panoramica

In questo capitolo su file i/o e nio, lettura e scrittura file con api moderne. L'obiettivo è trasformare i concetti in micro-pattern riutilizzabili con esempi piccoli e verificabili.

Lavora in sequenza: leggi, prova, modifica gli snippet e annota i trade-off principali (performance, leggibilità, manutenzione).

badge: file io

obiettivi

  • capire e applicare paths in uno scenario reale
  • capire e applicare read all in uno scenario reale
  • capire e applicare write in uno scenario reale
  • capire e applicare stream in uno scenario reale

scheda rapida

import java.util.List;

public class Main {
  public static void main(String[] args) {
    var dati = List.of(1, 2, 3);
    var out = dati.stream().map(x -> x * 2).toList();
    System.out.println(out);
  }
}

Adatta questo scheletro agli esempi della lezione e sostituisci i dati con il tuo dominio.

tips

  • organizza package per dominio
  • preferisci immutabilità dove possibile
  • documenta le API pubbliche
  • preferisci java.nio.file
  • usa buffer per file grandi
  • chiudi risorse

tip: Specifica sempre l'encoding: evita bug invisibili.

mini progetto

Report builder da CSV a TXT.

  • leggi righe
  • parse campi
  • calcola metriche
  • scrivi output

output atteso: uno script o query ripetibile con risultati verificabili.

checklist

  • ho eseguito gli snippet e controllato l'output
  • ho annotato almeno 2 trade-off
  • ho completato il mini progetto
  • ho salvato un riepilogo personale
start a brief