Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Librerie per la gestione di input e output in Java, Schemi e mappe concettuali di Programmazione Java

Argomenti trattati • Input e Output in Java: il concetto di Stream • Input da tastiera: la classe Scanner • Output a video: System.out e sequenze di escape • Input da file: Scanner + File • Output su file: PrintWriter

Tipologia: Schemi e mappe concettuali

2025/2026

In vendita dal 17/04/2026

airruh
airruh 🇮🇹

4.7

(17)

73 documenti

1 / 9

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Librerie per la Gestione dell'Input
e Output in Java
Stream, Scanner, System.out, File, PrintWriter
Argomenti trattati
• Input e Output in Java: il concetto di Stream
• Input da tastiera: la classe Scanner
• Output a video: System.out e sequenze di escape
• Input da file: Scanner + File
• Output su file: PrintWriter
pf3
pf4
pf5
pf8
pf9

Anteprima parziale del testo

Scarica Librerie per la gestione di input e output in Java e più Schemi e mappe concettuali in PDF di Programmazione Java solo su Docsity!

Librerie per la Gestione dell'Input

e Output in Java

Stream, Scanner, System.out, File, PrintWriter

Argomenti trattati

  • Input e Output in Java: il concetto di Stream
  • Input da tastiera: la classe Scanner
  • Output a video: System.out e sequenze di escape
  • Input da file: Scanner + File
  • Output su file: PrintWriter

1. Input e Output in Java: lo Stream

Ogni programma ha la necessità di comunicare con il mondo esterno: con l'utente attraverso tastiera e video, utilizzando file per leggere e salvare dati, con altre applicazioni sullo stesso computer o in rete. Java gestisce tutti questi tipi di comunicazione in modo uniforme attraverso un unico strumento: lo STREAM (flusso).

Cos'è uno Stream

Uno stream è un canale di comunicazione monodirezionale attraverso cui passano dati. Può essere immaginato come un tubo in cui le informazioni scorrono sempre in una sola direzione. Poiché gli stream sono monodirezionali, per gestire sia l'ingresso che l'uscita dei dati si utilizzano due tipi distinti:

  • Input stream (flusso di ingresso): riceve dati dall'esterno verso il programma (es. tastiera, file).
  • Output stream (flusso di uscita): invia dati dal programma verso l'esterno (es. video, file).

Classi di libreria per lo streaming: java.io

Le classi di libreria per la gestione degli stream sono incluse nel package java.io e si dividono in due grandi gruppi:

Gruppo Utilizzo tipico Esempio

Stream di caratteri Lettura/scrittura di file di testo, modificabili con qualsiasi editor.

FileReader, FileWriter, BufferedReader, PrintWriter

Stream di byte Lettura/scrittura di file binari (immagini, video, dati compressi, ecc.).

FileInputStream, FileOutputStream

Differenza chiave: i file di testo possono essere aperti e modificati con qualsiasi programma di scrittura (es. Notepad, gedit). I file binari richiedono applicazioni specifiche per essere interpretati correttamente.

public class InputTastiera { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);

System.out.println("Scrivi una frase:"); String frase = scanner.nextLine(); System.out.println("La frase e': " + frase);

System.out.println("Scrivi un numero intero:"); int numero = scanner.nextInt(); System.out.println("Il numero e': " + numero);

System.out.println("Scrivi un numero decimale:"); double decimale = scanner.nextDouble(); System.out.println("Il decimale e': " + decimale);

scanner.close(); // chiude lo stream } }

3. Output a Video: System.out

Per visualizzare dati sul terminale si utilizzano i metodi della classe System.out , che rappresenta lo stream standard di output (il video/console). I due metodi principali sono:

Metodo Comportamento

System.out.println(valo re)

Stampa il valore a video e porta il cursore su una nuova riga (a capo automatico).

System.out.print(valore )

Stampa il valore a video e lascia il cursore immediatamente dopo, senza andare a capo.

System.out.println() Senza parametri: effettua soltanto un ritorno a capo (riga vuota).

Concatenazione di valori con l'operatore +

Si possono stampare più valori in un'unica istruzione usando l'operatore + :

System.out.println((5+3)2); // output: 16 System.out.println('c'); // output: c System.out.println("Ciao"+10+"mondo"); // output: Ciao10mondo System.out.println("Ciao"+"Mondo"); // output: CiaoMondo boolean b = true; System.out.println(b); // output: true // Tutto quello che si somma a una stringa diventa stringa: System.out.println(""+b+'c'+10); // output: truec*

Sequenze di escape nelle stringhe

All'interno delle stringhe è possibile usare sequenze di escape per rappresentare caratteri speciali o formattare il testo:

Sequenza Descrizione

' Virgoletta singola (apostrofo): necessaria quando altrimenti sarebbe interpretata come delimitatore di char.

" Virgoletta doppia: necessaria quando altrimenti sarebbe interpretata come delimitatore di String.

\n Nuova riga (a capo): il più usato per inserire un ritorno a capo nel testo.

4. Input da File: Scanner + File

Per leggere dati da un file di testo si usa la stessa classe Scanner già vista per la tastiera, abbinata alla classe File (package java.io ). La classe File descrive file e cartelle presenti nel file system: non legge il contenuto direttamente, ma ne rappresenta il percorso.

Procedura in due passi

1 Creare un oggetto File che punta al file da leggere.

2 Passare tale oggetto File al costruttore di Scanner.

import java.util.Scanner; import java.io.File; import java.io.FileNotFoundException;

public class LetturaFile { public static void main(String[] args) throws FileNotFoundException { // Passo 1: creare l'oggetto File File file = new File("inputFile.txt");

// Passo 2: passare il File allo Scanner Scanner in = new Scanner(file);

// Lettura riga per riga fino alla fine del file while (in.hasNextLine()) { String riga = in.nextLine(); System.out.println("Letto: " + riga); }

in.close(); } }

Metodo hasNextLine(): restituisce true se ci sono ancora righe da leggere nel file, false quando si raggiunge la fine. È il metodo ideale per costruire cicli di lettura di file di testo riga per riga. Nota: lo Scanner su file usa gli stessi metodi (next, nextLine, nextInt, ecc.) già visti per la tastiera.

5. Output su File: PrintWriter

Per scrivere dati in un file di testo in modo semplice si usa la classe PrintWriter , inclusa nel package java.io. PrintWriter espone gli stessi metodi di System.out — print() e println() — ma redirige l'output su un file anziché sul terminale.

Creazione di un PrintWriter

Si crea passando il nome del file di destinazione:

import java.io.PrintWriter; import java.io.FileNotFoundException;

PrintWriter out = new PrintWriter("output.txt");

Attenzione: se il file esiste già, viene svuotato (troncato a zero byte) prima di scrivervi nuovi dati. Se non esiste, viene creato automaticamente. Verificare sempre che il percorso sia corretto prima di aprire un PrintWriter.

Metodi di scrittura e chiusura

Metodo Comportamento

out.println(valore )

Scrive il valore nel file e porta il cursore su una nuova riga.

out.print(valore) (^) Scrive il valore nel file e lascia il cursore dopo l'ultimo carattere (senza a capo).

out.close() (^) Chiude il file e svuota il buffer: INDISPENSABILE per assicurarsi che tutti i dati siano scritti su disco.

Esempio completo di scrittura su file import java.io.PrintWriter; import java.io.FileNotFoundException;

public class ScritturaSuFile { public static void main(String[] args) throws FileNotFoundException { PrintWriter out = new PrintWriter("output.txt");

out.println("Prima riga del file"); out.println("Seconda riga del file"); out.print("Valore: "); out.println(42);