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;53
split()
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
.