以下是我的代码示例.
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("^>]*>\n", "");
byte[] bytes = str.getBytes("UTF-8");
OutputStream outs = response.getOutputStream();
outs.write(bytes, 0, bytes.length);
outs.close();
FYI ByteArrayOutputStream是一个内存输出流,可用于捕获和检索写入其中的内容.因为实际上一个Properties对象不会有很多条目,所以这种方法不会带来内存消耗的风险.
标签:xml,java
来源: https://codeday.me/bug/20191028/1951768.html