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

java-从property.storeToXML的输出中删除<!DOCTYPE

以下是我的代码示例.

OutputStream outs = response.getoutputStream();
property.put("xyz", serverpath);
property.put("*abc", serverIPAddress);

property.storetoXML(outs, null, "UTF-8");           
outs.close();

我不需要DOCTYPE声明.如何将其删除

当前输出为:

解决方法:

像大多数Properties类一样,您不能更改它.而是捕获生成的XML字符串,对其进行修改,然后手动将其发送出去.

property.put("xyz", "serverpath");
property.put("*abc", "serverIPAddress");
ByteArrayOutputStream out = new ByteArrayOutputStream();
property.storetoXML(out, null, "UTF-8");
String str = out.toString("UTF-8").replaceAll("<!DOCTYPE[^>]*>\n", "");
byte[] bytes = str.getBytes("UTF-8");
OutputStream outs = response.getoutputStream();
outs.write(bytes, 0, bytes.length);
outs.close();

FYI ByteArrayOutputStream一个内存输出流,可用于捕获和检索写入其中的内容.因为实际上一个Properties对象不会有很多条目,所以这种方法不会带来内存消耗的风险.

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