我正在使用下面的代码片段将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();

最佳答案

LSSerializer.setNewLine

http://download.oracle.com/javase/1,5.0/docs/guide/plugin/dom/org/w3c/dom/ls/LSSerializer.html#setNewLine(java.lang.String

关于java - 使用LSOutput在xml序列化期间指定换行符类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7593947/

10-10 10:33