Java में फ़ाइल को बाइट ऐरे (byte[]) में कैसे बदलें?
सभी को नमस्कार! मैं Java में नौसिखिया हूँ और एक समस्या का सामना कर रहा हूँ: मुझे पूरी फ़ाइल को पढ़कर उसकी सामग्री को बाइट ऐरे (byte[]) के रूप में प्राप्त करना है। विशेष कार्य — डिस्क से एक इमेज लोड करना और उसे HTTP अनुरोध के माध्यम से भेजना है।
मैंने कई तरीके आज़माए, लेकिन वे सभी बोझिल लगते हैं या त्रुटियाँ उत्पन्न करते हैं। उदाहरण के लिए, मैंने FileInputStream का उपयोग करने का प्रयास किया:
File file = new File("image.jpg");
FileInputStream fis = new FileInputStream(file);
byte[] data = new byte[(int) file.length()];
fis.read(data);
fis.close();
लेकिन यह कोड कभी-कभी पूरी फ़ाइल नहीं पढ़ता, खासकर अगर वह बड़ी हो। मैंने Apache Commons IO के बारे में भी सुना है, लेकिन इतने सरल कार्य के लिए बाहरी लाइब्रेरी नहीं जोड़ना चाहता। कृपया बताएं कि फ़ाइल को बाइट ऐरे में सही और विश्वसनीय तरीके से कैसे पढ़ा जाए।