Почему не конвертирует

129
26 июня 2019, 04:50

Ребята я создал конвертор с кириллицы на латиницу. Ниже предоставил код, он не выдает ошибку правильно компилирует. Но результат не вижу, так же xml файл остался c кириллицей без конвертирования в латиницу.

  import java.io.*;
import java.util.*;
public class Main {
    public static void main(String[] args) throws IOException{
        String inputFilePath = "C:\\Users\\Adil\\Desktop\\Первый перевод\\adil.xml";
        String outputFilePath = "C:\\Users\\Adil\\Desktop\\Первый перевод\\output.xml";
        FileReader fileReader = new FileReader(inputFilePath);
        BufferedReader bufferedReader = new BufferedReader(fileReader);
        FileWriter fileWriter = new FileWriter(outputFilePath);
        String line;
        StringBuilder result = new StringBuilder();
        Map<String, String> dictionary = new Dictionary().getDictionary();
        while ((line = bufferedReader.readLine()) != null) {
            result.append(convertString(line, dictionary) + System.getProperty("line.separator")) ;
        }
        bufferedReader.close();
        fileReader.close();
        fileWriter.write(result.toString());
        fileWriter.flush();
        fileWriter.close();
    }
    public static String convertString(String str, Map<String, String> dictionary) {
        char[] chars = str.toCharArray();
        StringBuilder stringBuilder = new StringBuilder();
        for (int i = 0; i < chars.length; i++) {
            if (dictionary.containsKey(chars[i])) {
                stringBuilder.append(dictionary.get(chars[i]));
                continue;
            }
            stringBuilder.append(chars[i]);
        }
        return stringBuilder.toString();
    }
}
class Dictionary {
    private Map<String, String> dictionary;
    public Dictionary() {
        dictionary = new HashMap<>();
        dictionary.put("а", "a");
        dictionary.put("А", "А");
        dictionary.put("ә", "á");
        dictionary.put("Ә", "Á");
        dictionary.put("б", "b");
        dictionary.put("Б", "B");
        dictionary.put("д", "d");
        dictionary.put("Д", "D");
        dictionary.put("е", "e");
        dictionary.put("E", "E");
        dictionary.put("ф", "f");
        dictionary.put("Ф", "F");
        dictionary.put("г", "g");
        dictionary.put("Г", "G");
        dictionary.put("ғ", "ǵ");
        dictionary.put("Ғ", "Ǵ");        
        dictionary.put("х", "h");
        dictionary.put("Х", "H");
        dictionary.put("h", "һ");
        dictionary.put("Һ", "Һ");
        dictionary.put("і", "i");
        dictionary.put("І", "І");
        dictionary.put("и", "ı");
        dictionary.put("И", "I");
        dictionary.put("й", "i");
        dictionary.put("Й", "I");
        dictionary.put("ж", "j");
        dictionary.put("Ж", "J");
        dictionary.put("к", "k");
        dictionary.put("К", "К");
        dictionary.put("л", "l");
        dictionary.put("Л", "L");
        dictionary.put("м", "m");
        dictionary.put("М", "M");
        dictionary.put("н", "n");
        dictionary.put("Н", "N");
        dictionary.put("ң", "ń");
        dictionary.put("Ң", "Ń");
        dictionary.put("о", "o");
        dictionary.put("О", "О");
        dictionary.put("ө", "ó");
        dictionary.put("Ө", "Ó");
        dictionary.put("п", "p");
        dictionary.put("П", "P");
        dictionary.put("қ", "q");
        dictionary.put("Қ", "Q");
        dictionary.put("р", "r");
        dictionary.put("Р", "R");
        dictionary.put("с", "s");
        dictionary.put("С", "S");
        dictionary.put("ш", "sh");
        dictionary.put("Ш", "Sh");
        dictionary.put("ч", "ch");
        dictionary.put("Ч", "Сh");
        dictionary.put("т", "t");
        dictionary.put("Т", "T");
        dictionary.put("ү", "ú");
        dictionary.put("Ү", "Ú");
        dictionary.put("ұ", "u");
        dictionary.put("Ұ", "U");
        dictionary.put("в", "v");
        dictionary.put("В", "V");
        dictionary.put("ы", "y");
        dictionary.put("Ы", "Y");
        dictionary.put("у", "ý");
        dictionary.put("У", "Ý");
        dictionary.put("з", "z");
        dictionary.put("З", "Z");
    }
    public Map<String, String> getDictionary() {
        return dictionary;
    }
}
Answer 1

chars[i] это char а в словаре ключи типа String.

Надо заменить chars[i] на Character.toString(chars[i]) в двух местах:

  • dictionary.containsKey(chars[i])
  • dictionary.get(chars[i])
READ ALSO
Spring Integration. Пакетная запись JPA сущностей в БД

Spring Integration. Пакетная запись JPA сущностей в БД

В проекте на Spring Integration есть канал, в который поступают JPA сущности и записываются в БД при помощи jpa outbound channel adapterНо jpa outbound channel adapter пишет сущности...

127
Invalid JDK version in profile &#39;java8-and-higher&#39;

Invalid JDK version in profile 'java8-and-higher'

Мавен при инстале дает такую ошибку:

144
Вернуть ответ в формате json

Вернуть ответ в формате json

У меня есть RestController который делает POST и GETМне нужно чтобы возращаемые данные у меня отображались как json

143