Я попробовал следующий пример, и он работает нормально:
package com.test;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.nio.charset.StandardCharsets;
public class Test {
public static void main(String[] args) throws IOException {
//OutputStreamWriter outputStreamWriter = new OutputStreamWriter(new FileOutputStream(fileName), StandardCharsets.ISO_8859_1);
OutputStream outputStream = new FileOutputStream("c:\\output.txt");
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream,
StandardCharsets.ISO_8859_1);
outputStreamWriter.write("When it is not possible to use the umlauts (for example, when using a restricted character set) the characters Ä, Ö, Ü, ä, ö, ü should be transcribed as Ae, Oe, Ue, ae, oe, ue respectively, following the earlier postvocalic-e convention; simply using the base vowel (e.g. u instead of ü) would be wrong and misleading. However, such transcription should be avoided if possible, especially with names. Names often exist in different variants, such as \"Müller\" and \"Mueller\", and with such transcriptions in use one could not work out the correct spelling of the name.");
outputStreamWriter.close();
}
}
Вывод: Когда невозможно использовать умляуты (например, при использовании ограниченного набора символов)символы Ä, Ö, Ü, ä, ö, ü должны быть расшифрованы как Ae, Oe, Ue, ae, oe, ue, соответственно, в соответствии с более ранним соглашением postvocalic-e;простое использование основного гласного (например, u вместо ü) было бы неправильным и вводящим в заблуждение.Однако по возможности следует избегать такой транскрипции, особенно с именами.Имена часто существуют в разных вариантах, таких как «Мюллер» и «Мюллер», и при использовании таких транскрипций невозможно определить правильное написание имени.
Дайте мне знать, если словаправильно кодировать или нет, так как я не могу читать по-немецки.