Stream bufferizzati
Imparare a utilizzare gli stream bufferizzati: BufferedInputStream e BufferedOutputStream per un I/O efficiente di byte.
Stream bufferizzati è una lezione Java Academy gratuita su CoddyKit. Questa è la lezione 3 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Java Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Java Academy include 3 lezioni in totale.
Introduzione
Gli stream con buffer velocizzano l'I/O dei file. Raggruppano molte operazioni di lettura o scrittura di piccole dimensioni in operazioni più grandi.
Il concetto di BufferedInputStream
BufferedInputStream avvolge InputStream e legge blocchi di byte nella memoria. La lettura diventa più veloce quando vengono effettuate molte chiamate di piccole dimensioni.
Codice: BufferedInputStream
Questo codice legge i byte da un file utilizzando il buffering. L'output mostra i valori dei byte separati da spazi.
public class Main {
public static void main(String[] args) {
java.nio.file.Path p = java.nio.file.Paths.get("data.bin");
try (java.io.BufferedInputStream bis = new java.io.BufferedInputStream(java.nio.file.Files.newInputStream(p))) {
int b;
while ((b = bis.read()) != -1) {
System.out.print(b + " ");
}
} catch (java.io.IOException e) {
System.out.println("Error: " + e.getMessage());
}
}
}
Il concetto di BufferedOutputStream
BufferedOutputStream raccoglie i byte nella memoria prima di scriverli. In questo modo riduce il numero di scritture sul disco.
Codice: BufferedOutputStream
Questo codice scrive cinque byte in out.bin. BufferedOutputStream esegue il flush in blocchi per una maggiore efficienza.
public class Main {
public static void main(String[] args) {
java.nio.file.Path p = java.nio.file.Paths.get("out.bin");
try (java.io.BufferedOutputStream bos = new java.io.BufferedOutputStream(java.nio.file.Files.newOutputStream(p))) {
for (int i = 0; i < 5; i++) {
bos.write(i); // write 5 bytes
}
} catch (java.io.IOException e) {
System.out.println("Error: " + e.getMessage());
}
}
}
Codice: copia con stream con buffer
Gli stream con buffer rendono la copia dei file semplice ed efficiente. Il file viene letto e scritto utilizzando buffer di byte.
public class Main {
public static void main(String[] args) {
java.nio.file.Path in = java.nio.file.Paths.get("data.bin");
java.nio.file.Path out = java.nio.file.Paths.get("copy.bin");
try (java.io.BufferedInputStream bis = new java.io.BufferedInputStream(java.nio.file.Files.newInputStream(in));
java.io.BufferedOutputStream bos = new java.io.BufferedOutputStream(java.nio.file.Files.newOutputStream(out))) {
int b;
while ((b = bis.read()) != -1) {
bos.write(b);
}
} catch (java.io.IOException e) {
System.out.println("Error: " + e.getMessage());
}
}
}
Verifica sugli stream con buffer
Verifica rapida: perché si utilizzano BufferedInputStream o BufferedOutputStream?
Riepilogo
Riepilogo: gli stream con buffer migliorano le prestazioni raggruppando molte operazioni di lettura o scrittura di piccole dimensioni in operazioni più grandi.
Domande Frequenti
La lezione «Stream bufferizzati» è gratuita?
Sì — il testo completo di «Stream bufferizzati» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Java Academy, passa a CoddyKit PRO. Il corso Java Academy include 3 lezioni in totale.
Cosa imparerò in «Stream bufferizzati»?
Imparare a utilizzare gli stream bufferizzati: BufferedInputStream e BufferedOutputStream per un I/O efficiente di byte. Eserciti Java Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Java Academy?
Non è richiesta alcuna esperienza precedente. Java Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 3.
Quanto tempo richiede la lezione «Stream bufferizzati»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Java Academy?
Sì. Ogni lezione Java Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Path/Files di java.nio.file
- Lettura e scrittura di file di testo
- Stream bufferizzati