2012-11-04 35 views
18

में कनवर्ट करने के लिए कैसे करें मैं स्ट्रीम परिणाम आउटपुट को स्ट्रिंग में कनवर्ट करना चाहता हूं क्योंकि मैं को जूनिट में उपयोग करने के लिए चाहता हूं, मुझे लगता है कि मुझे स्ट्रिंग लेखक का उपयोग करने की आवश्यकता है लेकिन मुझे यकीन नहीं है कि इसका उपयोग कैसे किया जाए।स्ट्रीम परिणामों को स्ट्रिंग

StreamResult result = new StreamResult(new File("C:\\file.xml")); 
transformer.transform(source, result); 

धन्यवाद Fedor

उत्तर

27

पर एक नज़र डालें और StreamResult वर्ग के javadocs उपयोग करना सीखना (http://java.sun.com/javase/6/docs/api/) । StreamResult के रचनाकारों में से एक पैरामीटर के रूप में एक लेखक वस्तु लेता है। आप देखेंगे कि लेखक के उप-वर्गों में से एक स्ट्रिंगवाइटर है। तो StreamResult में जो लिखा गया है उससे एक स्ट्रिंग प्राप्त करने के लिए, आप स्ट्रिंगवाइटर बना सकते हैं, इसे StreamResult में डाल सकते हैं, स्रोत को StreamResult में बदल सकते हैं और स्ट्रिंगवाइटर से स्ट्रिंग प्राप्त कर सकते हैं।

//create a StringWriter for the output 
StringWriter outWriter = new StringWriter(); 
StreamResult result = new StreamResult(outWriter); 
... 
transformer.transform(source, result); 
StringBuffer sb = outWriter.getBuffer(); 
String finalstring = sb.toString(); 
+0

हैलो टिमो, धन्यवाद, लेकिन मुझे कनवर्टर StreamResult परिणाम = नया StreamResult कहां रखना चाहिए (नई फ़ाइल ("सी: \\ file.xml")); –

+0

ठीक है, आप या तो StreamResult परिणाम = नई StreamResult (नई फ़ाइल ("सी: \\ file.xml") का उपयोग कर परिणाम फ़ाइल में डाल दिया है; या आप इसे StreamResult परिणाम = new StreamResult (आउटवाइटर) का उपयोग कर स्ट्रिंगवाइटर में डाल देते हैं; यदि आप इसे स्ट्रिंग में चाहते हैं तो फ़ाइल का उपयोग क्यों करें? –

+0

'स्रोत' का प्रतिनिधित्व क्या है? –

2

आप इस तरह से एक StringWriter उपयोग कर सकते हैं:

StringWriter sw = (StringWriter) result.getWriter(); 
StringBuffer sb = sw.getBuffer(); 
String finalstring = sb.toString(); 
+0

यह है एक मैं – divine

+0

लिए देख रहा था @nosid जवाब में नहीं एक बफर का उपयोग कर या की तरह, के बीच क्या अंतर है? –

30
StringWriter writer = new StringWriter(); 
transformer.transform(source, new StreamResult(writer)); 
String output = writer.toString(); 
+0

मैंने इसे अभी वोट करने के लिए लॉग इन किया है। धन्यवाद :) – cngkaygusuz