Попытка прочитать японский файл CSV на Java
Я пытаюсь прочитать CSV-файл с японским контентом, который прагматично загружается и извлекается.
Код для чтения CSV
String splitBy = ",";
BufferedReader br;// = new BufferedReader(new FileReader(pathOfExcel + "\\KEN_ALL.CSV "));
br = new BufferedReader(new InputStreamReader(new FileInputStream(pathOfExcel + "\\KEN_ALL1.CSV"),"SHIFT-JIS"));
String line = "";
int cnt = 0;
while((line = br.readLine()) != null){
//System.out.println("Count :: " + cnt++);
List<Object> excelList = new ArrayList<Object>();
if(line != null){
String[] splitCells = line.split(splitBy);
excelList.add(splitCells[0].replace("\"", ""));
excelList.add(splitCells[1].replace("\"", ""));
excelList.add(splitCells[2].replace("\"", ""));
excelList.add(splitCells[3].replace("\"", ""));
excelList.add(splitCells[4].replace("\"", ""));
excelList.add(splitCells[5].replace("\"", ""));
excelList.add(splitCells[6].replace("\"", ""));
excelList.add(splitCells[7].replace("\"", ""));
excelList.add(splitCells[8].replace("\"", ""));
returnList.add(excelList);
}
}
br.close();
Я пробовал UTF-8 и SHIFT-JIS, как показано в следующем коде.
br = new BufferedReader(new InputStreamReader(new FileInputStream(pathOfExcel + "\\KEN_ALL1.CSV"),"UTF-8"));
Когда я пытался кодировать с UTF-8 и SHIFT-JIS, " excelList.add(splitCells[3].replace("\"", ""));"
будет возвращать следующие выводы. Но где в качестве исходного вывода должно быть ホッカイド ウ
UTF-8 - ί¶²ÄÞ³
Shift-JIS - テ 篠 ッ ツ カ ツ イ テ 楪ウ
0 ответов
Файл KEN_ALL1.CSV
это файл предоставлен JAPAN POST Co.,Ltd., верно?
https://www.post.japanpost.jp/zipcode/dl/kogaki-zip.html
Я мог прочитать файл вместе с вашей программой, поэтому я думаю, что у нее нет проблем.
Я думаю, с вашим файлом могут быть проблемы. Можете ли вы прочитать файл CSV с помощью текстового редактора, который может отображать кодировку символов файла (например, Notepad++)? Отображается ли содержимое файла совместно и действительно ли кодировка символов Shift-JIS такая?