2012-04-11 3 views
0

私の手にcsvファイルがあり、csvファイルの各行を読み込み、その内容をデータベーステーブルに更新しようとしています。これはJavaを使って行います。javaのfileInputStreamクラスを使用してcsvデータを変換するときに文字エンコーディングの問題が発生しました

これを達成するために私がしたことは次のとおりです。

を持つ

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

あなたはそれが何であるかエンコードを見つけると、その後UTF-16用XAMPLE、読みながらそれを宣言する必要があります

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