2013-06-23 4 views
3
transformer.transform(new DOMSource(doc),new StreamResult(new OutputStreamWriter(System.out, "UTF-8"))); 

Я использую это для создания вывода на консоль. Я хочу сохранить вывод на укус. Я не знаю, как это сделать. Может кто-нибудь мне помочь? :(OutputStreamWriter java не может хранить в строке

Заранее спасибо

ответ

6

Например использовать это (он избегает кодирующей последовательности).:

StringWriter writer = new StringWriter(); 
transformer.transform(new DOMSource(doc), new StreamResult(writer)); 
String str = writer.getBuffer().toString(); 
+0

спасибо, что это woks как шарм – nixon1333

+0

' toString() 'из' StringWriter' уже идет в буфер так: 'String str = writer.toString();' – Sonata

0

Одним из решений могут выглядеть следующим образом:

ByteArrayOutputStream out = new ByteArrayOutputStream(); 
transformer.transform(new DOMSource(doc),new StreamResult(new OutputStreamWriter(out, "UTF-8"))); 
String string = new String(out.toByteArray(), "UTF-8"); 
1

StringWriter Используйте класс вместо OutputStreamWriter