Не читает русский язык

303
14 июля 2018, 02:10

Работаю с файлами, мой код:

package com.company;
import java.io.*;
import  java.util.Scanner;
public class Censore {
    public static void main(String[] args) throws Exception {
        FileReader fr = new FileReader("C:\\Users\\Stepan\\Список.txt");
        Scanner scan = new Scanner(new InputStreamReader(new FileInputStream("C:\\Users\\Stepan\\Список.txt"), "UTF-8");
        String t = scan.nextLine();
        fr.close();
        System.out.println(t);
        String[] mats = t.split(" ");
        int longarray = mats.length;
        Scanner fx = new Scanner(System.in);
        String stroka = fx.nextLine();
        for (int i = 0; i < longarray; i++) {
            stroka = stroka.replaceAll(mats[i], "*цензура*");
        }
        System.out.println(stroka);
    }
}

В файле русские символы. При их считывании Появляются значки �. Видимо тут проблема в кодировке UTF-8. Работаю в Intellij IDEA. Подскажите, как исправить.

Answer 1

Как я уже писал выше: Стандартная виндовая кодировка - это CP-1251. В Java она кодируется как windows-1251, по этому в вашем коде нужно написать так:

Scanner scan = new Scanner(new InputStreamReader(new FileInputStream("C:\\Users\\Stepan\\Список.txt"), "windows-1251"));

UPD:

Для справки:

"ISO-8859-1"   - западноевропейские языки
"windows-1251" - стандартная Windows (русская)
"UTF-8"        - юникод
Answer 2

Попробуйте это

    Scanner scanner = new Scanner(
new InputStreamReader(new FileInputStream("fileNmae"), "UTF-8"));
Answer 3

какая кодировка стоит у текстового файла? можно узнать нотпадом и т.д. и попробуйте узнать на каком кодировке выдает ИДЕА, можете проверит полученный результат вот тут: http://www.online-decoder.com/ru

и ещё проверьте какая кодировка стоит на самой ИДЕА (Editor -> File Encodings)

Answer 4

ХЗ как исправить, но винда юзает кодировку cp1251, и там руские символы шифруются иными байтами, нежели в utf-8(которая юзается средой разработки в идее так точно), т.е считанные байты нужно переводить в символы с помощью кодировки cp1251

READ ALSO
БД ФИАС импорт xml в Postgres

БД ФИАС импорт xml в Postgres

Доброго времени суток

577
AES шифрование. QR-код

AES шифрование. QR-код

Есть задача: из зашифрованнх данных с помощью алгоритма шифрования (AES например) сгенерирован QR-кодНужно создать Android-приложение для считывания...

343
Кто может помочь, что за ошибка?

Кто может помочь, что за ошибка?

Кто может помоч, что за ошибка?

210
Запись числа в формате Long

Запись числа в формате Long

День добрыйВопрос такого содержания использую библиотеку apache poi для формирования Excel отчета

376