Мое приложение записывает много XML-данных и случайным образом последнюю строку следующего фрагмента кода:
// Prepare the DOM document for writing
Source source = new DOMSource(node);
// Prepare the output stream
Result result = new StreamResult(stream);
// Write the DOM document to the file
Transformer xformer = TransformerFactory.newInstance().newTransformer();
xformer.transform(source, result);
.. throws ..
javax.xml.transform.TransformerException: java.io.IOException: Detected invalid substitute UTF-16: da89 4f ?
(дополнительноЯ не знаю почему, но это исключение - единственное, которое поднял vm на моем португальском языке как «Detectado replaceto UTF-16 inválido», я перевел его на «Обнаружен недопустимый заменитель UTF-16»)
Еще одна странная вещь - я использую UTF-8, а не UTF-16, в своих текстах я проверил это.И я считаю, что если бы проблема была в UTF, это не привело бы к случайному исключению, поскольку я получаю такое же количество текста для преобразования в XML.
Это исключение трудно воспроизвести, поскольку оно непроисходят всегда, и это происходит при преобразовании большого количества данных в XML.
Есть идеи, что здесь происходит?