Проблемы с умлаутами в Java [дубликаты]

На этот вопрос уже есть ответ здесь:

Неспособность написать по-немецкиумлаутс) из консоли в текстовый файл с Java 3 ответа

Я пытаюсь прочитать некоторые данные через консоль и записать их в файл. Я получаю проблемы, когда данные из консоли имеют символы умлаут. Он печатает "?" вместо умлаут персонажей. Пожалуйста, найдите ниже мой код для того же. Может кто-нибудь, пожалуйста, помогите мне

       String cmd = "cmd /C si viewproject"+ cmdLine+" --recurse --fields=indent,name --project="+name;

        Process p = Runtime.getRuntime().exec(cmd);
        BufferedReader in = new BufferedReader(new InputStreamReader(
                p.getInputStream()));
        String line = null;

        File filename = new File(System.getProperty("java.io.tmpdir"),
                "Project" + ".tmp");

        OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(filename), Charset.forName("UTF-8").newEncoder());
        while ((line = in.readLine()) != null) {

            osw.write(line);
            osw.write("\n");
        }
        osw.close();

Ответы на вопрос(1)

Ваш ответ на вопрос