Я читал CSV-файл, загруженный форма Google тренд, вот содержимое файла при открытии в блокноте (первые две строки только):Чтение CSV-файл в Java добавляет пространство между символами
феррари феррари (ошибка станд)
0,735 2%
Когда я прочитал файл, используя Readline линия считывания содержит пространство между каждым символом, в приведенном выше случае на выходе будет:
f e r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r o r)
0. 7 3 5 2%
(Есть вкладки между «Феррари» и «Феррари», а также между 0,735 и 2%, что StackOverflow не показывает)
Newline символ в конце каждой строки также считывается два раз. Почему? Любое решение?
Вот код, я использую для чтения файла:
BufferedReader Reader = new BufferedReader(new FileReader("trend.csv"));
String line = null;
while ((line = Reader.readLine()) != null)
System.out.println(line);
Edit: Есть также некоторые странные символы чтения в запуске файла
Edut: получили решение
Это была проблема кодирования, которая изменила первую строку на:
BufferedReader Reader = new BufferedReader(new InputStreamReader(new FileInputStream("trend.csv"), "UTF-16"));
Похож на Unicode для меня. –
Я запустил ваш точный код на своей машине и напечатал его правильно. В какой среде вы работаете? Windows 7, Eclipse Helios. – Logan
Я использую окна 7 и затмение. Вы скопировали файл из моего вопроса. Используйте этот файл: http://www.google.com/trends/viz?q=ferrari&date=2011-9&geo=all&graph=all_csv&sort=0&scale=1&sa=N –