微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

确保在Windows上使用Java生成XML时使用的Unix样式的行结束符

我目前正在向Java中的文件输出一个XML文档,如下所示:

final Document xmldoc = toXMLDocument(docTheory); // write the content into xml file TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); transformer.setoutputProperty(OutputKeys.INDENT,"yes"); transformer.setoutputProperty("{http://xml.apache.org/xslt}indent-amount","2"); DOMSource source = new DOMSource(xmldoc); StreamResult result = new StreamResult(file); transformer.transform(source,result);

但是,在Windows上运行时,会产生带有Windows风格的行尾的输出。 我希望不pipe操作系统如何生产Unix风格的行结尾。 我怎么能做到这一点?

从C#的Windows shell上下文菜单获取多个文件(参数)

C#复制/粘贴不同的快捷键

Python调用命令行上指示的脚本是否有path?

如何在安装Nodejs v9.0.0后将npm从v5.4.1升级到最新版本

无法打开Windows.h

如果使用LSSerializer而不是Transformer,则可以使用LSSerializer.setNewLine来控制换行符。

操作系统之间的差异是因为在内部使用了println方法。 在保存文件之前,更改行分隔符:

System.setProperty("line.separator","n");

你可以使用一个静态块。

不确定你正在使用的类是否使用系统属性,但如果他们这样做,这应该工作

System.setProperty("line.separator","n");

相关的问题,但Windows行结束

如果没有,你必须像Foo Bar User在他的评论中所说的那样,手动替换它们。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐