क्या हम एक बाइट सरणी को जावा में एक इनपुटस्ट्रीम में बदल सकते हैं?


129

क्या हम एक बाइट सरणी को जावा में एक इनपुटस्ट्रीम में बदल सकते हैं? मैं इंटरनेट पर देख रहा हूं, लेकिन नहीं मिल रहा है।

मेरे पास एक विधि है जिसमें तर्क के रूप में एक इनपुटस्ट्रीम है।

इनपुटस्ट्रीम cphमेरे पास बेस 64 एनकोडेड है इसलिए मुझे इसका उपयोग करके डीकोड करना था

BASE64Decoder decoder = new BASE64Decoder();
byte[] decodedBytes = decoder.decodeBuffer(cph);

अब मैं decodedBytesफिर से कैसे परिवर्तित करूं InputStream?


1
एपीआई डॉक्टर पृष्ठों के शीर्ष पर "उपयोग" लिंक इस प्रकार की समस्याओं के लिए बहुत उपयोगी है।
टॉम हॉल्टिन -

जवाबों:



4

यदि आप रॉबर्ट हार्डर की Base64 उपयोगिता का उपयोग करते हैं , तो आप कर सकते हैं:

InputStream is = new Base64.InputStream(cph);

या सूरज की JRE के साथ, आप यह कर सकते हैं:

InputStream is = new
com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64DecoderStream(cph)

हालांकि उस वर्ग पर भरोसा नहीं करना चाहिए जो जेआरई का एक हिस्सा है, या आज भी ऐसा करने के लिए जारी है। सूर्य कहते हैं कि इसका उपयोग न करें।

बेस 64 डिकोडिंग के बारे में अन्य स्टैक ओवरफ्लो प्रश्न हैं, जैसे कि यह एक।


10
सूर्य वर्ग का उपयोग न करें यह निजी है और इसका उपयोग नहीं किया जाना चाहिए क्योंकि यह किसी भी समय बदल सकता है।
एम.पी.

मैं सख्त चेतावनी को शामिल करने के लिए अपने उत्तर को संपादित करूँगा। प्रश्न में कोड पहले से ही उपयोग कर रहा है BASE64Decoderजो कि संभवतया हैsun.misc.BASE64Decoder
स्टीफन डेएन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.