जावा बाइटएयरऑउटपुटस्ट्रीम (उदाहरण के साथ)

इस ट्यूटोरियल में, हम उदाहरणों की मदद से Java ByteArrayOutputStream और इसके तरीकों के बारे में जानेंगे।

पैकेज का ByteArrayOutputStreamवर्ग java.ioआउटपुट डेटा की एक सरणी (बाइट्स) लिखने के लिए इस्तेमाल किया जा सकता है।

यह OutputStreamअमूर्त वर्ग का विस्तार करता है ।

नोट : ByteArrayOutputStreamडेटा को संग्रहीत करने के लिए बाइट्स के एक आंतरिक सरणी को बनाए रखता है।

ByteArrayOutputStream बनाएं

बाइट सरणी आउटपुट स्ट्रीम बनाने के लिए, हमें java.io.ByteArrayOutputStreamपहले पैकेज को आयात करना होगा । एक बार जब हम पैकेज आयात करते हैं, तो यहां बताया गया है कि हम आउटपुट स्ट्रीम कैसे बना सकते हैं।

 // Creates a ByteArrayOutputStream with default size ByteArrayOutputStream out = new ByteArrayOutputStream(); 

यहां, हमने एक आउटपुट स्ट्रीम बनाया है जो डिफ़ॉल्ट बाइट 32 बाइट्स के साथ बाइट्स की एक सरणी को डेटा लिखेगा। हालाँकि, हम ऐरे के डिफ़ॉल्ट आकार को बदल सकते हैं।

 // Creating a ByteArrayOutputStream with specified size ByteArrayOutputStream out = new ByteArrayOutputStream(int size); 

यहां, आकार सरणी की लंबाई निर्दिष्ट करता है।

ByteArrayOutputStream के तरीके

ByteArrayOutputStreamकक्षा में उपस्थित विभिन्न तरीकों के कार्यान्वयन प्रदान करता है OutputStreamवर्ग।

लिखना () विधि

  • write(int byte) - आउटपुट स्ट्रीम में निर्दिष्ट बाइट लिखता है
  • write(byte() array) - निर्दिष्ट सरणी से आउटपुट स्ट्रीम तक बाइट्स लिखते हैं
  • write(byte() arr, int start, int length) - स्थिति शुरू से शुरू होने वाले सरणी से आउटपुट स्ट्रीम की लंबाई के बराबर बाइट्स की संख्या लिखता है
  • writeTo(ByteArrayOutputStream out1) - वर्तमान आउटपुट स्ट्रीम के संपूर्ण डेटा को निर्दिष्ट आउटपुट स्ट्रीम में लिखते हैं

उदाहरण: डेटा लिखने के लिए ByteArrayOutputStream

 import java.io.ByteArrayOutputStream; class Main ( public static void main(String() args) ( String data = "This is a line of text inside the string."; try ( // Creates an output stream ByteArrayOutputStream out = new ByteArrayOutputStream(); byte() array = data.getBytes(); // Writes data to the output stream out.write(array); // Retrieves data from the output stream in string format String streamData = out.toString(); System.out.println("Output stream: " + streamData); out.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

आउटपुट

 आउटपुट स्ट्रीम: यह स्ट्रिंग के अंदर पाठ की एक पंक्ति है। 

उपरोक्त उदाहरण में, हमने एक बाइट सरणी आउटपुट स्ट्रीम बनाया है जिसका नाम आउटपुट है।

 ByteArrayOutputStream output = new ByteArrayOutputStream(); 

आउटपुट स्ट्रीम में डेटा लिखने के लिए, हमने write()विधि का उपयोग किया है।

नोट : getBytes()कार्यक्रम में प्रयुक्त विधि एक स्ट्रिंग को बाइट्स के एक सरणी में परिवर्तित करती है।

ByteArrayOutputStream से एक्सेस डेटा

  • toByteArray() - आउटपुट स्ट्रीम के अंदर मौजूद एरे को लौटाता है
  • toString() - स्ट्रिंग रूप में आउटपुट स्ट्रीम का पूरा डेटा लौटाता है

उदाहरण के लिए,

 import java.io.ByteArrayOutputStream; class Main ( public static void main(String() args) ( String data = "This is data."; try ( // Creates an output stream ByteArrayOutputStream out = new ByteArrayOutputStream(); // Writes data to the output stream out.write(data.getBytes()); // Returns an array of bytes byte() byteData = out.toByteArray(); System.out.print("Data using toByteArray(): "); for(int i=0; i 

Output

 Data using toByteArray(): This is data. Data using toString(): This is data. 

In the above example, we have created an array of bytes to store the data returned by the toByteArray() method.

We then have used the for loop to access each byte from the array. Here, each byte is converted into the corresponding character using typecasting.

close() Method

To close the output stream, we can use the close() method.

However, the close() method has no effect in ByteArrayOutputStream class. We can use the methods of this class even after the close() method is called.

Other Methods of ByteArrayOutputStream

तरीके वर्णन
size() आउटपुट स्ट्रीम में सरणी का आकार देता है
flush() आउटपुट स्ट्रीम को साफ़ करता है

To learn more, visit Java ByteArrayOutputStream (official Java documentation).

दिलचस्प लेख...