इस ट्यूटोरियल में, हम उदाहरणों की मदद से Java FileReader और इसके तरीकों के बारे में जानेंगे।
पैकेज की FileReader
श्रेणी का java.io
उपयोग फ़ाइलों से डेटा (वर्णों में) पढ़ने के लिए किया जा सकता है।
यह InputSreamReader
वर्ग का विस्तार करता है ।
इससे पहले कि आप इसके बारे में जानें FileReader
, सुनिश्चित करें कि आप जावा फाइल के बारे में जानते हैं।
एक FileReader बनाएँ
फ़ाइल रीडर बनाने के लिए, हमें java.io.FileReader
पहले पैकेज को आयात करना होगा । एक बार जब हम पैकेज आयात करते हैं, तो यहां बताया गया है कि हम फाइल रीडर कैसे बना सकते हैं।
1. फ़ाइल के नाम का उपयोग करना
FileReader input = new FileReader(String name);
यहां, हमने एक फ़ाइल रीडर बनाया है जो नाम द्वारा निर्दिष्ट फ़ाइल से जुड़ा होगा।
2. फ़ाइल का एक ऑब्जेक्ट का उपयोग करना
FileReader input = new FileReader(File fileObj);
यहां, हमने एक फ़ाइल रीडर बनाया है जो फ़ाइल के ऑब्जेक्ट द्वारा निर्दिष्ट फ़ाइल से जुड़ा होगा।
उपरोक्त उदाहरण में, फ़ाइल में डेटा कुछ डिफ़ॉल्ट चरित्र एन्कोडिंग का उपयोग करके संग्रहीत किया जाता है।
हालाँकि, जावा 11 के बाद से हम फ़ाइल में वर्ण एन्कोडिंग ( UTF-8 या UTF-16 ) के प्रकार को भी निर्दिष्ट कर सकते हैं ।
FileReader input = new FileReader(String file, Charset cs);
यहां, हमने Charset
फ़ाइल रीडर के चरित्र एन्कोडिंग को निर्दिष्ट करने के लिए वर्ग का उपयोग किया है ।
FileReader के तरीके
FileReader
वर्ग के लिए विभिन्न तरीकों के लिए कार्यान्वयन में पेश प्रदान करता है Reader
वर्ग।
read () विधि
read()
- पाठक का एक ही चरित्र पढ़ता हैread(char() array)
- निर्दिष्ट सरणी में रीडर और स्टोर से पात्रों को पढ़ता हैread(char() array, int start, int length)
- स्थिति शुरू से शुरू होने वाले निर्दिष्ट सरणी में पाठक और स्टोर से लंबाई के बराबर वर्णों की संख्या को पढ़ता है
उदाहरण के लिए, मान लें कि हमारे पास निम्न सामग्री के साथ input.txt नामक एक फ़ाइल है।
This is a line of text inside the file.
चलो फ़ाइल का उपयोग करके पढ़ने की कोशिश करते हैं FileReader
।
import java.io.FileReader; class Main ( public static void main(String() args) ( // Creates an array of character char() array = new char(100); try ( // Creates a reader using the FileReader FileReader input = new FileReader("input.txt"); // Reads characters input.read(array); System.out.println("Data in the file: "); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
आउटपुट
फ़ाइल में डेटा: यह फ़ाइल के अंदर पाठ की एक पंक्ति है।
उपरोक्त उदाहरण में, हमने एक फाइल रीडर बनाया है जिसका नाम इनपुट है। फ़ाइल रीडर फ़ाइल input.txt के साथ जुड़ा हुआ है ।
FileInputStream input = new FileInputStream("input.txt");
फ़ाइल से डेटा पढ़ने के लिए, हमने read()
विधि का उपयोग किया है।
getEncoding () विधि
getEncoding()
विधि एन्कोडिंग के प्रकार है कि फाइल में डेटा संग्रहीत करने के लिए प्रयोग किया जाता है प्राप्त करने के लिए इस्तेमाल किया जा सकता। उदाहरण के लिए,
import java.io.FileReader; import java.nio.charset.Charset; class Main ( public static void main(String() args) ( try ( // Creates a FileReader with default encoding FileReader input1 = new FileReader("input.txt"); // Creates a FileReader specifying the encoding FileReader input2 = new FileReader("input.txt", Charset.forName("UTF8")); // Returns the character encoding of the file reader System.out.println("Character encoding of input1: " + input1.getEncoding()); System.out.println("Character encoding of input2: " + input2.getEncoding()); // Closes the reader input1.close(); input2.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
आउटपुट
इनपुट 1 का वर्ण एन्कोडिंग: Cp1252 इनपुट 2 का चरित्र एन्कोडिंग: UTF8
उपरोक्त उदाहरण में, हमने input1 और input2 नाम से 2 फ़ाइल रीडर बनाए हैं।
- input1 वर्ण एन्कोडिंग निर्दिष्ट नहीं करता है। इसलिए
getEncoding()
विधि डिफ़ॉल्ट वर्ण एन्कोडिंग देता है। - input2 चरित्र एन्कोडिंग, UTF8 निर्दिष्ट करता है । इसलिए
getEncoding()
विधि निर्दिष्ट वर्ण एन्कोडिंग देता है।
नोट : हमने Charset.forName()
वर्ण एन्कोडिंग के प्रकार को निर्दिष्ट करने के लिए विधि का उपयोग किया है । अधिक जानने के लिए, जावा चारसेट (आधिकारिक जावा प्रलेखन) पर जाएँ।
बंद () विधि
फ़ाइल रीडर को बंद करने के लिए, हम close()
विधि का उपयोग कर सकते हैं । एक बार close()
विधि कहा जाता है, हम डेटा पढ़ने के लिए पाठक का उपयोग नहीं कर सकते।
FileReader के अन्य तरीके
तरीका | विवरण |
---|---|
ready() | जाँचता है कि फ़ाइल रीडर पढ़ने के लिए तैयार है या नहीं |
mark() | फ़ाइल रीडर में स्थिति को चिह्नित करें कि किस डेटा को पढ़ा गया है |
reset() | पाठक को उस बिंदु पर नियंत्रण लौटाता है जहां निशान स्थापित किया गया था |
अधिक जानने के लिए, Java FileReader (आधिकारिक जावा प्रलेखन) पर जाएँ।