Java में InputStream को कैसे पढ़ें और String में बदलें?
सभी को नमस्ते! मैं Java में नया हूँ और मुझे एक समस्या का सामना करना पड़ा: मेरे पास एक `InputStream` ऑब्जेक्ट है, जो मुझे फ़ाइल पढ़ने या नेटवर्क अनुरोध से मिलता है। मुझे इस स्ट्रीम की सामग्री को एक सामान्य `String` में बदलना है, ताकि बाद में टेक्स्ट प्रोसेस कर सकूँ।
समस्या यह है कि मुझे नहीं पता कि इसे सही तरीके से कैसे करें। मैंने मैन्युअल रूप से बाइट्स पढ़ने की कोशिश की, लेकिन कोड बहुत बड़ा और शायद गलत हो गया। यहाँ मैंने जो प्रयास किया:
```java
InputStream inputStream = new FileInputStream("file.txt");
StringBuilder sb = new StringBuilder();
int data = inputStream.read();
while (data != -1) {
sb.append((char) data);
data = inputStream.read();
}
inputStream.close();
String result = sb.toString();
```
यह कोड काम करता है, लेकिन मुझे यकीन है कि इससे अधिक सुरुचिपूर्ण समाधान हैं। पहला, यह कैरेक्टर एन्कोडिंग को ध्यान में नहीं रखता। दूसरा, बड़ी फ़ाइलों पर यह धीमा होगा क्योंकि यह एक बाइट पढ़ता है। तीसरा, मैंने सुना है कि Java 9 और उसके बाद के संस्करणों में नए मेथड आए हैं, लेकिन मुझे नहीं पता।