Error al escribir 'diéresis' alemanas (äöü) desde la consola al archivo de texto con java

Actualmente estoy tratando desesperadamente de escribir diéresis alemanas, leídas desde la consola, en un archivo de texto codificado utf8 en Windows 7.

Aquí está el código para configurar el escáner:

Scanner scanner = new Scanner(System.in, "UTF8");

Aquí está el código para leer la cadena:

String s = scanner.nextLine();

Aquí está el código para escribir en un archivo:

    OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(this.targetFile), "UTF8");

osw.write(s);

Desafortunadamente, en lugar del ejemplo "überraschung", el archivo así escrito está codificado en utf8 pero no mostrará la diéresis. ¿Qué hacer?

Respuestas a la pregunta(3)

Su respuesta a la pregunta