Avatar ·

Java में InputStream को byte[] ऐरे में कैसे बदलें? सभी तरीके

सभी को नमस्ते! मैं Java में नया हूँ और मुझे इस समस्या का सामना करना पड़ा: मुझे InputStream (जैसे, फ़ाइल या HTTP-रिस्पॉन्स से) से सारा डेटा पढ़ना है और इसे byte[] ऐरे के रूप में प्राप्त करना है। लेकिन मुझे नहीं पता कि इसे सही तरीके से कैसे किया जाए।

\n\n

मैंने यह प्रयास किया:

\n\n
InputStream input = new FileInputStream("data.bin");\nbyte[] data = ??? // बाइट ऐरे कैसे प्राप्त करें?\n
\n\n

समस्या यह है कि InputStream मुझे पहले से डेटा का आकार नहीं बताता। available() मेथड पूरा आकार नहीं देता, बल्कि केवल वही देता है जो बिना ब्लॉकिंग के पढ़ने के लिए उपलब्ध है। मैंने लूप में पढ़ने की कोशिश की, लेकिन कोड बेकार हो जाता है और अक्सर टूट जाता है।

\n\n

मैंने ByteArrayOutputStream के बारे में पढ़ा, लेकिन समझ नहीं आया कि इसका सही उपयोग कैसे करें। मैंने readAllBytes() के बारे में भी सुना है

अभी तक कोई उत्तर नहीं।

लॉग इन करें उत्तर देने के लिए

ब्लॉग