Задать вопрос
@Irdisx1

Java проблемы с кодировкой, поможете?

Есть CSV-файл, в нём нужно прочитать несколько строк с конца и переслать их на сервер. При чтении русские буквы некорректно отображаются. Мои попытки изменить кодировку ни к чему не привели, пробовал 5 или 6 разных способов (что в гугле нашёл) - всё бестолку. Сам CSV файл получен с помощью перевода из формата tps (tps-to-csv.jar, если это даст пользу - гуглите). При переводе, как описано, по стандарту файл CSV кодируется в формате ISO-8859-1, однако при проверке файла кодировка оказывается "windows-1251". При попытке изменить кодировку во время перевода (есть такая функция) на UTF-8 - русские буквы в CSV-файле уже становятся нечитаемыми.
Если изменить кодировку самого CSV-файла, а потом читать через java - всё становится в порядке. К сожалению этот вариант не подходит, потому и задаю вопрос тут.

Вот кусок кода (момент чтения):
public static void main(String[] args) throws Exception
    {
        int counter = 0;
        String[] arr = new String[100];
        File file = new File("путь к файлу");
        ReversedLinesFileReader object =
                  new ReversedLinesFileReader(file);
        while(counter<100) {
            arr[counter] = object.readLine();
            System.out.println(arr[counter]);
            counter++;
        }
    }


Класс ReversedLinesFileReader находится в -> apache commons-io
Для тестов CSV-файл можно скачать тут
  • Вопрос задан
  • 942 просмотра
Подписаться 1 Средний 1 комментарий
Решения вопроса 1
jamakasi666
@jamakasi666 Куратор тега Java
Просто IT'шник.
ReversedLinesFileReader(File file, int blockSize, String encoding)
          Creates a ReversedLinesFileReader with the given block size and encoding.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы