|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Oct 2000
Messaggi: 432
|
[Java] file di testo
Ciao a tutti...
ho un file di testo con delle parole che devo inserire in un vettore. Il file di testo è composto così: a abbi abbia abbiamo abbiano abbiate .... il codice Java che esegue l'inserimento nel vettore è così: String file="c:\\ita.txt"; File f = new File(file); BufferedReader d = new BufferedReader(new FileReader(f)); String token=""; while((token = d.readLine())!=null) { if (!token.equalsIgnoreCase("\n")) { this.words.add(token.trim().toUpperCase()); System.out.println(token); } } d.close(); il problema è che il file viene letto in maniera errata: il System.out presente nel codice mi stampa a video il seguente risultato : *a* *a*b*b*i *a*b*b*i*a ..... dove il simbolo * sta per un 'quadratino' del quale con conosco il significato Sapete come pulire queste stringhe in modo da inserire nel mio vettore esattamente il contenuto del file? ciao e tante grazie
__________________
"Nulla deve essere temuto nella vita. Deve solo essere compreso" Marie Courie "Compilatio non petita, bacarozio manifesta" |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2000
Messaggi: 432
|
nessuno mi sa aiutare?
__________________
"Nulla deve essere temuto nella vita. Deve solo essere compreso" Marie Courie "Compilatio non petita, bacarozio manifesta" |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
il tuo codice è corretto, sei sicuro che il problema non sia nel file di testo? |
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Oct 2000
Messaggi: 432
|
ti invio il file di testo così puoi controllarlo.
grazie
__________________
"Nulla deve essere temuto nella vita. Deve solo essere compreso" Marie Courie "Compilatio non petita, bacarozio manifesta" |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
infatti non è un file di testo.
guarda come lo vedo: ![]() |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Non credo che sia quello il problem, prova, dove metti "\n" a fare cosi
Codice:
....+"\r\n"; ![]()
__________________
My gaming placement |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Oct 2000
Messaggi: 432
|
ho scritto così
..if (!token.equalsIgnoreCase("\r\n"))... ma non ho risolto niente
__________________
"Nulla deve essere temuto nella vita. Deve solo essere compreso" Marie Courie "Compilatio non petita, bacarozio manifesta" |
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Jun 2004
Città: Brianza
Messaggi: 305
|
Quote:
![]() Codice:
.... a abbi abbia abbiamo abbiano abbiate accidenti acciocché accipicchia ad affinché agli ah ahi ahimè ai al alalà alcun alcuna alcunché .... |
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Oct 2000
Messaggi: 432
|
uffa....
come posso risolvere questo problema?
__________________
"Nulla deve essere temuto nella vita. Deve solo essere compreso" Marie Courie "Compilatio non petita, bacarozio manifesta" |
![]() |
![]() |
![]() |
#10 |
Member
Iscritto dal: May 2003
Messaggi: 118
|
import java.io.*;
import java.util.*; public class Read { public static void main(String[] args) { String file = "percorso del file"; Vector vec = new Vector(); try { BufferedReader filebuf = new BufferedReader(new FileReader(file)); String nextStr = filebuf.readLine(); // legge una riga del file while (nextStr != null) { vec.add(nextStr); nextStr = filebuf.readLine(); // legge la prossima riga } filebuf.close(); // chiude il file } catch(Exception e) { System.out.println("eccezione" + e); } for (int i = 0; i < vec.size(); i++) { System.out.println(vec.get(i)); } } ho fatto un test scrivendo questo semplice programma e funziona tutto bene, quindi non dovrebbe essere un problema di file
__________________
forum che tratta di calcolatrici grafiche in genere: consigli e aiuti www.helpcalculator.tk |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Oct 2000
Messaggi: 432
|
Ho eseguito il tuo codice e ottengo questo risultato...
t o ' t o t t r a t r a c t r a n n e t r a n s e a t ... u n d i c e s i m o u n d i c i u n d i c i m i l a u n e u n i ... v e n t i n o v e s i m o v e n t i q u a t t r e s i m o v e n t i q u a t t r o v e n t i s e i v e n t i s e i e s i m o v e n t i s e t t e .... v u o i v u o l e z i t t o ... come puoi vedere ci sono spazi bianchi tra tutti i caratteri. Ho corretto il tuo codice: import java.io.*; import java.util.*; public class prova { public static void main(String[] args) { String file = "c:\\ita.txt"; Vector vec = new Vector(); try { BufferedReader filebuf = new BufferedReader(new FileReader(file)); String nextStr = filebuf.readLine(); // legge una riga del file while (nextStr != null) { nextStr = filebuf.readLine(); // legge la prossima riga StringTokenizer st = new StringTokenizer(nextStr," "); nextStr=""; while (st.hasMoreTokens()) nextStr+=st.nextToken(); vec.add(nextStr); } filebuf.close(); // chiude il file } catch(Exception e) { System.out.println("eccezione" + e); } for (int i = 0; i < vec.size(); i++) { System.out.println(vec.get(i)); } } } ma non ho risolto niente... come si fa?
__________________
"Nulla deve essere temuto nella vita. Deve solo essere compreso" Marie Courie "Compilatio non petita, bacarozio manifesta" |
![]() |
![]() |
![]() |
#12 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
forse il problema è che il file è codificato in Unicode; se lo apri con Blocco Note come lo vedi?
|
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Oct 2000
Messaggi: 432
|
bene
__________________
"Nulla deve essere temuto nella vita. Deve solo essere compreso" Marie Courie "Compilatio non petita, bacarozio manifesta" |
![]() |
![]() |
![]() |
#14 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
ho verificato: il file è codificato in Unicode; aprilo con Blocco Note e risalvalo come ANSI.
|
![]() |
![]() |
![]() |
#15 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
guarda come sono generoso, te l'ho convertito io
![]() |
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Oct 2000
Messaggi: 432
|
ti ringrazio
ora funziona
__________________
"Nulla deve essere temuto nella vita. Deve solo essere compreso" Marie Courie "Compilatio non petita, bacarozio manifesta" |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:28.