Esercizio 9A
Aggiungere alla classe
Document dell'esercizio 6A un metodo
read() definito static. Il metodo dovrebbe accettare
un parametro br di tipo BufferedReader, leggere dati
da br e infine creare e restituire un oggetto di
tipo Document contenenti questi dati.
Piú
precisamente, read() dovrebbe svolgere i seguenti passi:
;), per esempio:Bruce Tate;Beyond Java;53split() disponibile nella classe String.
Document usando le
informazioni lette e restituisce l'oggetto.Esercizio 9B
Implementare una classe DocumentClient che utilizzi la classe
Document: dovrebbe leggere una serie di documenti da un file
testuale, calcolare il numero medio di copie e scrivere su un file testuale
tutti i documenti presenti con un numero di copie maggiore della media.
Piú precisamente, DocumentClient dovrebbe svolgere i
seguenti passi:
Document.read() legge dalle rimanenti righe del file
di input gli oggetti Document che verranno assegnati all'array
di cui sopra.Esercizio 9C
Modificare DocumentClient in modo che gestisca le seguenti
eccezioni:
FileNotFoundException: stampare su schermo il messaggio
"file inesistente".IOException: stampare su schermo il messaggio "impossibile
leggere il file".NumberFormatException: questa eccezione capita quando un
numero nel file di input (p.e. il numero di documenti o di copie) è
formattato male - in questo caso stampare "formattazione non corretta:
controllare numero di documenti e di copie".Esercizio 9D
Definire una classe DocumentFormatException che rappresenti
eccezioni che possono capitare quando un Documento viene letto. Estendere il
metodo read() della classe Document in modo che lanci
questa eccezione nei seguenti due casi:
split (e che dovrebbe essere 3).NumberFormatException che ne
risulta.
Inoltre, modificare l'applicazione DocumentClient in modo che
raccolga DocumentFormatException. Nel caso che l'eccezione
capiti l'applicazione dovrebbe:
null alla corrente posizione nell'array di
oggetti Document. Dopo, quando calcola la media e scrive il
file di output, l'applicazione scarterà gli elementi uguali
a null.