86 }
87
88 /**
89 * String xmlVersion = propertiesElement.getAttribute("version"); if
90 * (xmlVersion.compareTo(EXTERNAL_XML_VERSION) > 0) throw new
91 * InvalidPropertiesFormatException( "Exported Properties file format
92 * version " + xmlVersion + " is not supported. This java installation
93 * can read" + " versions " + EXTERNAL_XML_VERSION + " or older. You" +
94 * " may need to install a newer version of JDK.");
95 */
96 }
97
98 public void store(Properties props, OutputStream os, String comment, Charset charset)
99 throws IOException
100 {
101 try {
102 XMLStreamWriter writer = new XMLStreamWriterImpl(os, charset);
103 writer.writeStartDocument();
104 writer.writeDTD(PROPS_DTD_DECL);
105 writer.writeStartElement(ELEMENT_ROOT);
106 if (comment != null && comment.length() > 0) {
107 writer.writeStartElement(ELEMENT_COMMENT);
108 writer.writeCharacters(comment);
109 writer.writeEndElement();
110 }
111
112 synchronized(props) {
113 for (Entry<Object, Object> e : props.entrySet()) {
114 final Object k = e.getKey();
115 final Object v = e.getValue();
116 if (k instanceof String && v instanceof String) {
117 writer.writeStartElement(ELEMENT_ENTRY);
118 writer.writeAttribute(ATTR_KEY, (String)k);
119 writer.writeCharacters((String)v);
120 writer.writeEndElement();
121 }
122 }
123 }
124
125 writer.writeEndElement();
126 writer.writeEndDocument();
|
86 }
87
88 /**
89 * String xmlVersion = propertiesElement.getAttribute("version"); if
90 * (xmlVersion.compareTo(EXTERNAL_XML_VERSION) > 0) throw new
91 * InvalidPropertiesFormatException( "Exported Properties file format
92 * version " + xmlVersion + " is not supported. This java installation
93 * can read" + " versions " + EXTERNAL_XML_VERSION + " or older. You" +
94 * " may need to install a newer version of JDK.");
95 */
96 }
97
98 public void store(Properties props, OutputStream os, String comment, Charset charset)
99 throws IOException
100 {
101 try {
102 XMLStreamWriter writer = new XMLStreamWriterImpl(os, charset);
103 writer.writeStartDocument();
104 writer.writeDTD(PROPS_DTD_DECL);
105 writer.writeStartElement(ELEMENT_ROOT);
106 if (comment != null && !comment.isEmpty()) {
107 writer.writeStartElement(ELEMENT_COMMENT);
108 writer.writeCharacters(comment);
109 writer.writeEndElement();
110 }
111
112 synchronized(props) {
113 for (Entry<Object, Object> e : props.entrySet()) {
114 final Object k = e.getKey();
115 final Object v = e.getValue();
116 if (k instanceof String && v instanceof String) {
117 writer.writeStartElement(ELEMENT_ENTRY);
118 writer.writeAttribute(ATTR_KEY, (String)k);
119 writer.writeCharacters((String)v);
120 writer.writeEndElement();
121 }
122 }
123 }
124
125 writer.writeEndElement();
126 writer.writeEndDocument();
|