यहाँ से ByteArrayInputStream का उपयोग कर कोड है, लेकिन मिल गया त्रुटि:प्राप्त बाइट [] एक सॉकेट
bin = new ByteArrayInputStream(socket.getInputStream());
यह एक सॉकेट से ByteArrayInputStream
का उपयोग कर byte[]
प्राप्त करने के लिए संभव है?
यहाँ से ByteArrayInputStream का उपयोग कर कोड है, लेकिन मिल गया त्रुटि:प्राप्त बाइट [] एक सॉकेट
bin = new ByteArrayInputStream(socket.getInputStream());
यह एक सॉकेट से ByteArrayInputStream
का उपयोग कर byte[]
प्राप्त करने के लिए संभव है?
नहीं। आप ByteArrayInputStream
का उपयोग करते हैं जब आपके पास बाइट्स की सरणी होती है, और आप सरणी से पढ़ना चाहते हैं जैसे कि यह एक फ़ाइल थी। तुम सिर्फ सॉकेट से बाइट्स की सरणियों को पढ़ने के लिए चाहते हैं, तो ऐसा करते हैं:
InputStream stream = socket.getInputStream();
byte[] data = new byte[100];
int count = stream.read(data);
चर count
बाइट की संख्या में होते हैं वास्तव में पढ़ा जाएगा और यह डेटा निश्चित रूप से सरणी data
में होगा।
आपको सॉकेट से सीधे पढ़कर ByteArrayInputStream
का उदाहरण नहीं मिल सकता है।
आपको पहले पढ़ने और बाइट सामग्री खोजने की आवश्यकता है।
फिर ByteArrayInputStream
का उदाहरण बनाने के लिए इसका उपयोग करें।
InputStream inputStream = socket.getInputStream();
// read from the stream
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] content = new byte[ 2048 ];
int bytesRead = -1;
while((bytesRead = inputStream.read(content)) != -1) {
baos.write(content, 0, bytesRead);
} // while
अब, जैसा कि आप हाथ में baos है, मुझे नहीं लगता कि आप अभी भी एक bais
उदाहरण की क्या ज़रूरत है।
लेकिन, यह पूरा करने के लिए,
आप
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
* नीचे के रूप में बाइट सरणी इनपुट धारा उत्पन्न कर सकते हैं "लेकिन त्रुटि मिली:" गॉट क्या त्रुटि *? हमेशा प्रश्न में अपवाद और त्रुटि आउटपुट कॉपी/पेस्ट करें (कोड टैग का उपयोग करके)। –
आपका प्रश्न समझ में नहीं आता है। एक ByteArrayInputStream बाइट सरणी से बाइट्स पढ़ता है। यदि आप सॉकेट से पढ़ना चाहते हैं तो आप बाइट्स की सरणी से नहीं पढ़ सकते हैं। आप यहां हल करने की क्या समस्या कर रहे हैं? – EJP