Я использую OpenCSV 2.3 для чтения и записи данных файлов, но когда я переключаю Windows PC на японский язык, то я замечаю, что метод записи OpenCSV внутренне использует Print writer, который преобразует yen char в\В результате - файл CSV созданный заканчивается с unescaped \, и чтение такого файла с помощью CSVReader завершается с ошибкой.
Как я могу исправить эту проблему?
Дальнейшее исследование этой проблемы и заметило, что это не проблема метода CSVWrite. Хотя, файлы CSVWrite работают отлично.
Теперь, где проблема?
Раньше я использовал FileWriter, он использует кодировку по умолчанию для системы. (Другими словами, если мы используем FileWriter, тогда кодирование файлов записи/чтения зависит от милости Writer).
Итак, я попробовал/использовал
csvReader = new CSVReader(new BufferedReader(new InputStreamReader(new FileInputStream(inputFile), "UTF-8")));
чтобы сообщить читателю и писателю только чтение и запись файла в указанной системе кодирования, а не по умолчанию для систем.