Paola Magillo, Univestita' di Genova, Corso di Programmazione II per SMID, a.a. 2009-2010.

Laboratorio 06:

I/O E DOCUMENTAZIONE JAVA

1) Lettura da e scrittura su file

Vedere la classe MyReader nella lezione 10.

Usare la classe MyReader per leggere da standard input le coordinate di due punti, calcolare e stampare la distanza tra i due punti.

Provare l'esempio di rettangolo con funzioni di lettura e scrittura, riportato in lezione 10.

Nota: il programma richiede che l'utente interagisca in questo modo:

  1. lancio del programa: java Rectangle
  2. immissione del rettangolo secondo la sintassi prevista, per es: Rectangle 23 x 45
  3. a questo punto il programma stampa il rettangolo (se tutto va bene dovrebbe ristampare esattamente la stessa cosa)

Scrivere un file contenente un rettangolo nella sintassi data. Provare a usare il programma redirigendo lo standard input in modo che legga non da tastiera ma da quel file, es:
java Rectangle < pippo.txt (legge da pippo.txt, scrive su standard output).

Provare anche a redirigere lo standard output su file, es:
java Rectangle > topolino.txt (legge da standard input, scrive su topolino.txt).
Si possono redirigere entrambi...

Modificare il programma per leggere da un file, chiedendo il nome del file all'utente.
Nota: occorre leggere da standard input il nome del file (una stringa) ed usare l'altro costruttore di MyReader, quello che prende il nome del file.

Modificare ancora per scrivere su file, chiedendo il nome del file all'utente.
Nota: occorre aprire il file come FileInputStream e poi costruire dal file un PrintStream (vedere lezione 10).

Modificare il programma per leggere piu' rettangoli, fino a fine file. Scriverli tutti sull'altro file.
Variante: scrivere oltre ai rettangoli, anche le loro aree.

2) Nel crivello di Eratostene

Nota: serve sempre la classe MyReader.

Considerare la versione del crivello di Eratostene senza interfaccia grafica (vista in laboratorio 2).

Chiedere all'utente, da standard input (non piu' da command-line), il numero di numeri primi che vuole trovare.
Chiedere all'utente il nome del file su cui vuole scrivere i numeri primi, e scriverli su detto file.

Considerare la versione del crivello di Eratostene con interfaccia grafica (vista in laboratorio 4).

Aggiungere un bottone per salvare i numeri primi trovati su file.
Alla pressione del bottone parte una finestra di dialogo che chiede il nome del file (potete usare JOptionPane.showInputDialog) e, all'Ok dell'utente, apre il file e vi salva i numeri.

3) Documentazione del codice Java

Il linguaggio Java ha un comando per generare automaticamente la pagina di manuale relativa a una classe. Il comando e' "javadoc". La pagina viene generata guardando i commenti che si trovano nel file Java, i quali devono essere scritti secondo una sintasi particolare. Riferimento: lezione 11).

Prendere la classe MyReader gia' vista.

Tale classe ha i commenti predisposti per javadoc. Provare a fare andare javadoc digitando:
javadoc MyReader.java
Questo produce un file MyReader.html e un file index.html che lo richiama (oltre a numerosi altri file). Aprire uno dei due file e guardare la documentazione che javadoc ha generato. Guardare il codice sorgente e controllare dove sono finite le varie parti dei commenti.