Как перекодировать строки из windows 1251 в читаемый вид в java?

В Java для перекодировки строк из Windows 1251 в читаемый вид можно использовать подходящую комбинацию классов InputStreamReader и BufferedReader. Важно отметить, что кодировка, которую вы хотите использовать для вывода, зависит от вашей операционной системы.

Вот пример кода, который выполняет перекодировку строк из Windows 1251 в читаемый вид в Java:

import java.io.*;

public class StringDecoder {

    public static void main(String[] args) {
        String input = "Пример строки в кодировке Windows 1251";
        
        try {
            // Создаем входной поток для чтения строки в кодировке Windows 1251
            ByteArrayInputStream inputStream = new ByteArrayInputStream(input.getBytes("Windows-1251"));
            
            // Создаем InputStreamReader для преобразования входного потока в читаемый вид
            InputStreamReader reader = new InputStreamReader(inputStream, "UTF-8");
            
            // Создаем BufferedReader для буферизации входного потока
            BufferedReader bufferedReader = new BufferedReader(reader);
            
            // Читаем строку из входного потока
            String decodedString = bufferedReader.readLine();
            
            // Выводим результат
            System.out.println(decodedString);
            
            // Закрываем потоки
            bufferedReader.close();
            reader.close();
            inputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Вышеуказанный код создает строку input в кодировке Windows 1251. Затем он создает входной поток inputStream для чтения этой строки в кодировке Windows 1251. Далее, создается экземпляр класса InputStreamReader, преобразующий входной поток в читаемый вид, с указанием кодировки UTF-8. Затем создается экземпляр класса BufferedReader для буферизации входного потока. Затем readLine() читает строку из входного потока в читаемом виде. И наконец, результат выводится на экран.

Важно помнить, что вы должны указать правильную кодировку для входного потока (Windows 1251) и выходного потока (UTF-8 или другая кодировка вашей операционной системы).