указание типа новой строки во время сериализации xml с LSOutput - PullRequest
0 голосов
/ 29 сентября 2011

Я сериализую org.w3c.dom.Document (хранится в переменной _document) в текстовый файл (представленный переменной _file), используя фрагмент ниже. Работает нормально.

Файл, созданный фрагментом, имеет переводы строки в стиле Unix ('\ n', 0x0A). Тем не менее, это работает в Windows, и я хотел бы, чтобы вместо него использовался стандарт новой строки DOS ('\ r \ n', 0x0D0A), потому что файл часто открывается и читается администраторами с помощью notepad.exe.

Можно ли как-то указать тип новой строки, который будет использоваться в сериализации ниже?

(во фрагменте _document имеет тип org.w3c.dom.Document, а _file имеет тип java.io.File.)

DOMImplementation domImplementation = _document.getImplementation();
DOMImplementationLS domImplementationLS 
  = (DOMImplementationLS) domImplementation.getFeature("LS", "3.0");
LSSerializer serializer = domImplementationLS.createLSSerializer();
LSOutput lsOutput = domImplementationLS.createLSOutput();
OutputStream outputStream = new FileOutputStream(_file);
lsOutput.setByteStream(outputStream);
serializer.write(_document, lsOutput);
outputStream.close();

1 Ответ

2 голосов
/ 01 октября 2011
...