Как-то раз, при разработке очередной автоматизации, мне понадобилось создавать директории (папки) в операционной системе Windows. Само приложение, работает тоже на Windows. Проблема заключалась в том, что JAVA не корректно обрабатывает букву И. Возникала ошибка

error: unmappable character for encoding Cp1251

Код был примерно следующим:

String dd = "D:\\АБВГДЕЁЖЗКИЙЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ\\SDF";
File theDir = new File(new String(dd.getBytes("Cp1251"), "UTF-8"));
createFolder(theDir);

public static boolean createFolder(File theDir) {
    String fileSeparator = java.nio.file.FileSystems.getDefault().getSeparator();
    String namefile = "asdasd";
    System.out.println("Разделитель ФС: " + fileSeparator);

    // если директория не существует, создаем ее
    if (!theDir.exists() && !theDir.isDirectory()) {
        System.out.println("Создаем папку: " + theDir.getName());
        boolean result = false;

        try {
            result = theDir.mkdir();
        } catch (SecurityException se) {
            System.out.println("SecurityException" + se);
            return false;
        }
        if (result) {
            System.out.println("Папка создана");
            return true;
        } else {
            System.out.println("Не удалось создать папку");
            return false;
        }
    } else {
        System.out.println("папка уже существует");
        return true;
    }
}

Всяческие «костыли» не помогали. Проблема заключается в том, что String находится изначально в Read more