Realizzare una classe che abbia i seguenti metodi:
void generaFile(String nomeFile): crea un file con stringhe e numeri casuali (ogni elemento su una linea).
List<String> leggiFile(String nomeFile): che legge ogni linea del file specificato e lo salva in un oggetto di tipo List<String> che successivamente restituisce.
void stampaLineeNumeriche(String nomeFile): che legge il file specificato usando il metodo leggiFile e stampa le linee che contengono solo numeri.
void stampaLineeConNumero(String nomeFile): che legge il file specificato usando il metodo leggiFile e stampa le linee che contengono almeno un numero.
void stampaLineeConLetterePari(String nomeFile, char lettera): che legge il file specificato usando il metodo leggiFile e stampa le linee che corrispondono esattamente ad una sequenza (non vuota) di lunghezza pari del carattere specificato dalla variabile lettera.
void stampaLineeConNumeroUguale(String nomeFile, char lettera1, char lettera2): che legge il file specificato usando il metodo leggiFile e stampa le linee che contengono lo stesso numero di occorrenze di lettera1 e lettera2.
Per ogni metodo di stampa implementare le versioni con e senza espressioni regolari (se possibile).
Esempio di file: [Download].
Per la generazione degli elementi casuali si può utilizzare la classe Random (documentazione). Esempio di utilizzo:
Random r = new Random();
int numeroCasuale = r.nextInt();