जावा OutputStreamWriter (उदाहरण के साथ)

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

OutputStreamWriterके वर्ग java.ioपैकेज बाइट्स रूप में डेटा में चरित्र के रूप में परिवर्तित डेटा के लिए इस्तेमाल किया जा सकता है।

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

OutputStreamWriterवर्ग अन्य उत्पादन धाराओं के साथ काम करता है। इसे बाइट धाराओं और चरित्र धाराओं के बीच एक पुल के रूप में भी जाना जाता है। ऐसा इसलिए है क्योंकि OutputStreamWriterअपने पात्रों को बाइट्स में परिवर्तित करता है।

उदाहरण के लिए, कुछ पात्रों को भंडारण में 2 बाइट्स रखने की आवश्यकता होती है। ऐसे डेटा को लिखने के लिए हम आउटपुट स्ट्रीम लेखक का उपयोग कर सकते हैं जो चरित्र को संबंधित बाइट्स में परिवर्तित करता है और बाइट को एक साथ संग्रहीत करता है।

एक OutputStreamWriter बनाएँ

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

 // Creates an OutputStream FileOutputStream file = new FileOutputStream(String path); // Creates an OutputStreamWriter OutputStreamWriter output = new OutputStreamWriter(file); 

उपरोक्त उदाहरण में, हमने नामांकित फ़ाइल OutputStreamWriterके साथ एक नामांकित आउटपुट बनाया है FileOutputStream

यहां, हम आउटपुट स्ट्रीम पर वर्ण लिखने के लिए डिफ़ॉल्ट वर्ण एन्कोडिंग का उपयोग कर रहे हैं।

हालाँकि, हम वर्ण एन्कोडिंग के प्रकार ( UTF8 या UTF16 ) को डेटा लिखने के लिए उपयोग करने के लिए निर्दिष्ट कर सकते हैं ।

 // Creates an OutputStreamWriter specifying the character encoding OutputStreamWriter output = new OutputStreamWriter(file, Charset cs); 

यहां, हमने Charsetवर्ण एन्कोडिंग के प्रकार को निर्दिष्ट करने के लिए वर्ग का उपयोग किया है ।

OutputStreamWriter के तरीके

OutputStreamWriterवर्ग के लिए विभिन्न तरीकों के लिए कार्यान्वयन में पेश प्रदान करता है Writerवर्ग।

लिखना () विधि

  • write() - लेखक को एक ही चरित्र लिखता है
  • write(char() array) - लेखक को निर्दिष्ट सरणी से वर्ण लिखते हैं
  • write(String data) - लेखक को निर्दिष्ट स्ट्रिंग लिखता है

उदाहरण: किसी फ़ाइल में डेटा लिखने के लिए OutputStreamWriter

 import java.io.FileOutputStream; import java.io.OutputStreamWriter; public class Main ( public static void main(String args()) ( String data = "This is a line of text inside the file."; try ( // Creates a FileOutputStream FileOutputStream file = new FileOutputStream("output.txt"); // Creates an OutputStreamWriter OutputStreamWriter output = new OutputStreamWriter(file); // Writes string to the file output.write(data); // Closes the writer output.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) ) 

उपरोक्त उदाहरण में, हमने फ़ाइल आउटपुट स्ट्रीम का उपयोग करके आउटपुट स्ट्रीम रीडर बनाया है। आउटपुट स्ट्रीम रीडर output.txt फ़ाइल के साथ जुड़ा हुआ है ।

 FileOutputStream file = new FileOutputStream("output.txt"); OutputStreamWriter output = new OutputStreamWriter(file); 

फ़ाइल में डेटा लिखने के लिए, हमने write()विधि का उपयोग किया है।

यहां, जब हम प्रोग्राम चलाते हैं, तो output.txt फाइल निम्नलिखित सामग्री से भर जाती है।

 This is a line of text inside the file. 

getEncoding () विधि

getEncoding()विधि एन्कोडिंग के प्रकार है कि उत्पादन स्ट्रीम में लिखें डेटा के लिए किया जाता प्राप्त करने के लिए इस्तेमाल किया जा सकता। उदाहरण के लिए,

 import java.io.OutputStreamWriter; import java.nio.charset.Charset; import java.io.FileOutputStream; class Main ( public static void main(String() args) ( try ( // Creates an output stream FileOutputStream file = new FileOutputStream("output.txt"); // Creates an output stream reader with default encoding OutputStreamWriter output1 = new OutputStreamWriter(file); // Creates an output stream reader specifying the encoding OutputStreamWriter output2 = new OutputStreamWriter(file, Charset.forName("UTF8")); // Returns the character encoding of the output stream System.out.println("Character encoding of output1: " + output1.getEncoding()); System.out.println("Character encoding of output2: " + output2.getEncoding()); // Closes the reader output1.close(); output2.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

आउटपुट

 आउटपुट 1 का चरित्र एन्कोडिंग: Cp1252 आउटपुट 2 का चरित्र एन्कोडिंग: UTF8 

उपरोक्त उदाहरण में, हमने output1 और output2 नाम के 2 आउटपुट स्ट्रीम लेखक बनाए हैं।

  • output1 वर्ण एन्कोडिंग निर्दिष्ट नहीं करता है। इसलिए getEncoding()विधि डिफ़ॉल्ट वर्ण एन्कोडिंग देता है।
  • output2 वर्ण एन्कोडिंग, UTF8 निर्दिष्ट करता है । इसलिए getEncoding()विधि निर्दिष्ट वर्ण एन्कोडिंग देता है।

नोट : हमने Charset.forName()वर्ण एन्कोडिंग के प्रकार को निर्दिष्ट करने के लिए विधि का उपयोग किया है । अधिक जानने के लिए, जावा चारसेट (आधिकारिक जावा प्रलेखन) पर जाएँ।

बंद () विधि

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

OutputStreamWriter के अन्य तरीके

तरीका विवरण
flush() लेखक को उपस्थित सभी डेटा को संबंधित गंतव्य पर लिखने के लिए बाध्य करता है
append() वर्तमान लेखक के लिए निर्दिष्ट चरित्र सम्मिलित करता है

अधिक जानने के लिए, Java OutputStreamWriter (आधिकारिक जावा प्रलेखन) पर जाएँ।

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