ドイツ語を含むCSVファイルを解析するためにsupercsv 2.1.0を使用しています。
指定された CSV ファイルには、最初の行にヘッダーがあります。このヘッダーには、Ä、ä、Ü、ö などの変異母音がいくつかあります。例: Betrag;Währung;Info
私のコーディングでは、次のようにcsvのヘッダーを取得しようとしています:
ICsvBeanReader inFile = new CsvBeanReader(new InputStreamReader(new FileInputStream(file), "UTF8"), CsvPreference.EXCEL_NORTH_EUROPE_PREFERENCE);
final String[] header = inFile.getHeader(true);
これがヘッダー配列に関する私の問題です。変異した母音を含むヘッダーはすべて、utf8 charset を使用して正しくエンコードされていません。
ヘッダーを正しく読み取る方法はありますか?
疑似単体テストは次のとおりです。
public class TestSuperCSV {
@Test
public void test() {
String path = "C:\\Umsatz.csv";
File file = new File(path);
try {
ICsvBeanReader inFile = new CsvBeanReader(new InputStreamReader(
new FileInputStream(file), "UTF-8"),
CsvPreference.EXCEL_NORTH_EUROPE_PREFERENCE);
final String[] header = inFile.getHeader(true);
System.out.println(header[9]); //getting "W?hrung" but needed "Währung" here
} catch (UnsupportedEncodingException | FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
敬具、アレックス