sto leggendo un trend modulo google file CSV scaricato, qui ci sono i contenuti di file quando aperto nel blocco note (prime due righe solo):la lettura del file CSV in java aggiunge spazio tra ogni carattere
ferrari ferrari (errore standard)
0.735 2%
Leggendo il file utilizzando readline la linea di lettura contiene spazio tra ogni carattere, nel caso di cui sopra l'output è:
f r r a r i r r a r i (s t d r r o r)
0. 7 3 5 2%
(Ci sono tabulazioni tra "Ferrari" e "Ferrari" e tra 0,735 e 2% che StackOverflow non visualizzata)
carattere Newline alla fine di ogni linea viene letta anche due volte. Perché è così? Qualche soluzione?
Ecco il codice che sto usando per leggere il file:
BufferedReader Reader = new BufferedReader(new FileReader("trend.csv"));
String line = null;
while ((line = Reader.readLine()) != null)
System.out.println(line);
Edit: ci sono anche alcuni personaggi strani letti alla partenza di file di
Edut: Ha ottenuto la soluzione
era il problema di codifica, cambiare la prima riga:
BufferedReader Reader = new BufferedReader(new InputStreamReader(new FileInputStream("trend.csv"), "UTF-16"));
Sembra Unicode per me. –
Ho eseguito il codice esatto sulla mia macchina e ha stampato correttamente. In quale ambiente stai correndo? Windows 7, Eclipse Helios qui. – Logan
Sto usando Windows 7 e Eclipse. Hai copiato il file dalla mia domanda. Utilizza questo file: http://www.google.com/trends/viz?q=ferrari&date=2011-9&geo=all&graph=all_csv&sort=0&scale=1&sa=N –