इस ट्यूटोरियल में, हम जावा प्रिंटस्ट्रीम क्लास और उसके प्रिंट () और प्रिंटफ () के तरीकों के बारे में उदाहरणों की मदद से जानेंगे।
PrintStream
के वर्ग java.io
पैकेज आमतौर पर पठनीय रूप (पाठ) के बजाय बाइट में उत्पादन डेटा लिखने के लिए इस्तेमाल किया जा सकता।
यह अमूर्त वर्ग का विस्तार करता है OutputStream
।
PrintStream का कार्य करना
अन्य आउटपुट धाराओं के विपरीत, PrintStream
बाइट्स के बजाय आदिम डेटा (पूर्णांक, वर्ण) को पाठ प्रारूप में परिवर्तित करता है। यह तब आउटपुट स्वरूप में डेटा स्वरूपित करता है।
और यह भी, PrintStream
वर्ग किसी भी इनपुट / आउटपुट अपवाद को नहीं फेंकता है। इसके बजाय, हमें checkError()
किसी भी त्रुटि को खोजने के लिए विधि का उपयोग करने की आवश्यकता है।
नोट : PrintStream
क्लास में ऑटो फ्लशिंग की सुविधा भी है। इसका मतलब है कि यह आउटपुट स्ट्रीम को निम्न शर्तों में से एक के तहत गंतव्य के लिए सभी डेटा लिखने के लिए मजबूर करता है:
- यदि
प्रिंट स्ट्रीम में न्यूलाइन वर्ण लिखा जाता है
- अगर
println()
विधि लागू है - यदि प्रिंट स्ट्रीम में बाइट्स की एक सरणी लिखी जाती है
एक PrintStream बनाएँ
बनाने के लिए PrintStream
, हमें java.io.PrintStream
पहले पैकेज आयात करना चाहिए । एक बार जब हम यहां पैकेज को आयात करते हैं तो हम प्रिंट स्ट्रीम कैसे बना सकते हैं।
1. अन्य आउटपुट स्ट्रीम का उपयोग करना
// Creates a FileOutputStream FileOutputStream file = new FileOutputStream(String file); // Creates a PrintStream PrintStream output = new PrintStream(file, autoFlush);
यहाँ,
- हमने एक प्रिंट स्ट्रीम बनाई है, जो प्रतिनिधित्व की गई फ़ाइल के लिए स्वरूपित डेटा लिखेगा
FileOutputStream
- ऑटोफ्लश एक वैकल्पिक बूलियन पैरामीटर है जो निर्दिष्ट करता है कि ऑटो फ्लशिंग प्रदर्शन करना है या नहीं
2. फ़ाइल नाम का उपयोग करना
// Creates a PrintStream PrintStream output = new PrintStream(String file, boolean autoFlush);
यहाँ,
- हमने एक प्रिंट स्ट्रीम बनाया है जो निर्दिष्ट फ़ाइल में स्वरूपित डेटा लिखेगा
- ऑटोफ्लश एक वैकल्पिक बूलियन पैरामीटर है जो निर्दिष्ट करता है कि ऑटोफ्लश करना है या नहीं
नोट : दोनों ही स्थिति में, PrintStream
कुछ डिफ़ॉल्ट चरित्र एन्कोडिंग का उपयोग करके फ़ाइल में डेटा लिखें। हालाँकि, हम वर्ण एन्कोडिंग ( UTF8 या UTF16 ) को भी निर्दिष्ट कर सकते हैं ।
// Creates a PrintStream using some character encoding PrintStream output = new PrintStream(String file, boolean autoFlush, Charset cs);
यहां, हमने Charset
वर्ण एन्कोडिंग को निर्दिष्ट करने के लिए वर्ग का उपयोग किया है । अधिक जानने के लिए, जावा चारसेट (आधिकारिक जावा प्रलेखन) पर जाएँ।
PrintStream के तरीके
PrintStream
वर्ग के लिए विभिन्न तरीकों है कि हम उत्पादन के लिए डेटा प्रिंट करने की अनुमति प्रदान करता है।
प्रिंट () विधि
print()
- निर्दिष्ट डेटा को आउटपुट स्ट्रीम पर प्रिंट करता हैprintln()
- अंत में एक नई लाइन वर्ण के साथ डेटा को आउटपुट स्ट्रीम में प्रिंट करता है
उदाहरण: सिस्टम वर्ग के साथ प्रिंट () विधि
class Main ( public static void main(String() args) ( String data = "Hello World."; System.out.print(data); ) )
आउटपुट
नमस्ते दुनिया।
उपरोक्त उदाहरण में, हमने एक प्रिंट स्ट्रीम नहीं बनाई है। हालाँकि, हम कक्षा की print()
विधि का उपयोग कर सकते हैं PrintStream
।
आप सोच रहे होंगे कि यह कैसे संभव है। खैर, मैं समझाता हूं कि यहां क्या हो रहा है।
लाइन नोटिस करें,
System.out.print(data);
यहाँ,
System
एक अंतिम वर्ग है जो मानक इनपुट / आउटपुट ऑपरेशन करने के लिए जिम्मेदार हैout
के एक वर्ग चर हैPrintStream
प्रकार में घोषितSystem
वर्ग
अब के बाद से out
की है PrintStream
प्रकार, हम इसका इस्तेमाल के सभी तरीकों कॉल करने के लिए कर सकते हैं PrintStream
वर्ग।
उदाहरण: PrintStream वर्ग के साथ प्रिंट () विधि
import java.io.PrintStream; class Main ( public static void main(String() args) ( String data = "This is a text inside the file."; try ( PrintStream output = new PrintStream("output.txt"); output.print(data); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
In the above example, we have created a print stream named output. The print stream is linked with the output.txt file.
PrintStream output = new PrintStream("output.txt");
To print data to the file, we have used the print()
method.
Here, when we run the program, the output.txt file is filled with the following content.
This is a text inside the file.
printf() Method
The printf()
method can be used to print the formatted string. It includes 2 parameters: formatted string and arguments. For example,
printf("I am %d years old", 25);
Here,
- I am %d years old is a formatted string
- %d is integer data in the formatted string
- 25 is an argument
The formatted string includes both text and data. And, the arguments replace the data inside the formatted string.
Hence the %d is replaced by 25.
Example: printf() method using PrintStream
import java.io.PrintStream; class Main ( public static void main(String() args) ( try ( PrintStream output = new PrintStream("output.txt"); int age = 25; output.printf("I am %d years old.", age); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
उपरोक्त उदाहरण में, हमने एक प्रिंट स्ट्रीम बनाया है जिसका नाम आउटपुट है। प्रिंट स्ट्रीम फ़ाइल output.txt के साथ जुड़ी हुई है ।
PrintStream output = new PrintStream("output.txt");
स्वरूपित पाठ को फ़ाइल में प्रिंट करने के लिए, हमने printf()
विधि का उपयोग किया है।
यहां, जब हम प्रोग्राम चलाते हैं, तो output.txt फाइल निम्नलिखित सामग्री से भर जाती है।
I am 25 years old.
PrintStream के अन्य तरीके
तरीके | वर्णन |
---|---|
close() | प्रिंट स्ट्रीम बंद कर देता है |
checkError() | जाँच करता है कि स्ट्रीम में कोई त्रुटि है और बूलियन परिणाम देता है |
append() | निर्दिष्ट डेटा को स्ट्रीम में जोड़ता है |
अधिक जानने के लिए, जावा प्रिंटस्ट्रीम (आधिकारिक जावा प्रलेखन) पर जाएं।