2011-11-10 16 views
13

मैं जावा में नया हूं और जावा एमई विकास सीख रहा हूं। मैं इस रूपांतरण में फंस गया। कृपया StringBuffer से InputStream को परिवर्तित करने में मेरी सहायता करें। धन्यवाद!जावा एमई में स्ट्रिंगबफर से इनपुटस्ट्रीम को कैसे परिवर्तित करें?

उत्तर

8

देखें कि क्या आप StringBuffer को byte[] पर प्राप्त कर सकते हैं तो ByteArrayInputStream का उपयोग करें।

+0

+1 यह एक सबसे पुराना सही जवाब है। –

18

कक्षा ByteArrayInputStream देखें।

public static InputStream fromStringBuffer(StringBuffer buf) { 
    return new ByteArrayInputStream(buf.toString().getBytes()); 
} 

ध्यान दें कि आप getBytes() पद्धति पर एक स्पष्ट वर्ण एन्कोडिंग का उपयोग करना चाहें, जैसे: उदाहरण के लिए:

return new ByteArrayInputStream(buf.toString().getBytes(StandardCharsets.UTF_8)); 

(धन्यवाद @ g33kz0r)

+0

'नया बाइटएरे इनपुट इनपुट (एसबी.toString()। GetBytes (StandardCharsets.UTF_8)); '' – g33kz0r

2

यह सबसे अच्छा जवाब मैं है इंटरनेट पर मिला। Click Here

import java.io.ByteArrayInputStream; 
import java.io.InputStream; 
public class StringBufferToInputStreamExample { 
     public static void main(String args[]){ 
       //create StringBuffer object 
       StringBuffer sbf = new StringBuffer("StringBuffer to InputStream Example"); 
       /* 
       * To convert StringBuffer to InputStream in Java, first get bytes 
       * from StringBuffer after converting it into String object. 
       */ 
       byte[] bytes = sbf.toString().getBytes(); 
       /* 
       * Get ByteArrayInputStream from byte array. 
       */ 
       InputStream inputStream = new ByteArrayInputStream(bytes); 
       System.out.println("StringBuffer converted to InputStream"); 
     } 
}