2012-04-11 4 views
0

Привет, у меня есть файл csv в моей руке и я пытаюсь прочитать каждую строку в файле csv и обновлять содержимое в таблице базы данных. Выполняю это с помощью java.проблема кодирования символов при преобразовании данных csv с использованием класса fileInputStream в java

Следующее - это то, что я сделал для достижения этого.

FileInputStream fileInputStream = FileUtils.openInputStream("filename.csv"); 
dataInputStream = new DataInputStream(fileInputStream); 
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(dataInputStream)); 
String strLine; 
while((strLine = bufferedReader.readLine()) != null){ 
     System.out.println(strLine); 
} 

но его печать что-то вроде blocks на консоли, а не фактические данные, имеющие Csv

может кто-нибудь, пожалуйста, помогите мне решить эту проблему.?

ответ

0

вы должны выяснить, в какой кодировке он и затем объявить его во время чтения, Xample для UTF-16:

new InputStreamReader(zipFile.getInputStream(entry), "UTF_16") 
+1

Чтобы проверить автоматически, а не вручную угадывание кодировку файла, вы можете использовать [ICU4J] (HTTP : //site.icu-project.org/) – ecle

+0

Как определить тип кодировки символов, используемый в файле csv, используя указанную выше ссылку ..? –

+0

очень хорошее предложение eee, я обязательно буду использовать это в будущем. @tijoKVagrhese try http://userguide.icu-project.org/conversion/detection – Peter