Quote:
|
Originariamente inviato da motogpdesmo16
allora Scanner serve per leggere in input un determinato dato ed è inserita da java5 (se la memoria non mi inganna)in su importando java.util.scanner
|
Uff ... già è vero. È che io continuo, per i miei sviluppi in Java, ad usare ancora Java 1.4 (quindi l'API reference ce l'ho per la 1.4) e non ho ancora preso confidenza con le (tante) novità del Java 1.5!
Quote:
|
Originariamente inviato da motogpdesmo16
Quelle prove inputstream sono delle emerite castronerie, lo ammetto, perchè stavo effettuando delle prove disperate.
|
Ok, anche perché tanto non avrebbe compilato.
Quote:
|
Originariamente inviato da motogpdesmo16
Come metodologia comunque penso sia giusta quella di creare vari costruttori a seconda della finalità che mi pongo (calcolare i caratteri, le righe...) anzichè mettere tutto nel calderone del main o peggio, in un unico costruttore.
Inoltre, dato che le operazioni le devo eseguire sempre scansionando il file, mi converrebbe aprirlo una sola volta, magari nel main, e poi effettuare i vari calcoli. Faccio questa operazione con
Codice:
Scanner in=new Scanner(fr);
poi creo l'oggetto
Codice:
textAnalyzer testo=new textAnalyzer(in);
e procedo a chiamare i costruttori..ma cosa ci passo come parametri per far capire che in in c'è il file aperto???
|
Uhm ... forse non ti è molto chiaro. Quelli che tu hai chiamato:
public int contaCaratteri(InputStream in)
e
public int contaLinee(InputStream in)
non sono dei costruttori ma dei semplici metodi!
Comunque anche ammesso che tu usi un InputStream per effettuare una certa operazione (es. conteggio dei caratteri), una volta che hai "consumato" lo stream, prima di effettuare un'altra operazione (es. conteggio delle linee) dovresti o ricreare un altro InputStream o fargli un "rewind" in qualche modo (la InputStream ha due metodi mark() e reset(), io personalmente non li ho mai usati, vedi tu).