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

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

BufferedReaderके वर्ग java.ioपैकेज अन्य पाठकों के साथ इस्तेमाल किया जा सकता डेटा और अधिक कुशलता से पढ़ने के लिए (वर्णों में)।

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

बफ़रडियर का कार्य करना

BufferedReaderएक आंतरिक का कहना है 8192 पात्रों के बफर

में रीड ऑपरेशन के दौरान BufferedReader, वर्णों का एक हिस्सा डिस्क से पढ़ा जाता है और आंतरिक बफर में संग्रहीत होता है। और आंतरिक बफर पात्रों से व्यक्तिगत रूप से पढ़ा जाता है।

इसलिए, डिस्क पर संचार की संख्या कम हो जाती है। यही कारण है कि वर्णों का उपयोग तेजी से होता है BufferedReader

बफ़रडियर बनाएँ

बनाने के लिए BufferedReader, हमें java.io.BuferedReaderपहले पैकेज आयात करना चाहिए । एक बार जब हम पैकेज आयात करते हैं, तो यहां बताया गया है कि हम पाठक कैसे बना सकते हैं।

 // Creates a FileReader FileReader file = new FileReader(String file); // Creates a BufferedReader BufferedReader buffer = new BufferedReader(file); 

उपरोक्त उदाहरण में, हमने नामित फ़ाइल के BufferedReaderसाथ एक नामित बफर बनाया है FileReader

यहां, आंतरिक बफ़र BufferedReaderमें 8192 वर्णों का डिफ़ॉल्ट आकार है। हालाँकि, हम आंतरिक बफर के आकार को भी निर्दिष्ट कर सकते हैं।

 // Creates a BufferdReader with specified size internal buffer BufferedReader buffer = new BufferedReader(file, int size); 

बफर फाइलों से पात्रों को अधिक तेज़ी से पढ़ने में मदद करेगा।

बफरर के तरीके

BufferedReaderकक्षा में उपस्थित विभिन्न तरीकों के लिए कार्यान्वयन प्रदान करता है Reader

read () विधि

  • read() - पाठक के आंतरिक बफर से एक एकल चरित्र को पढ़ता है
  • read(char() array) - निर्दिष्ट सरणी में रीडर और स्टोर से पात्रों को पढ़ता है
  • read(char() array, int start, int length) - स्थिति शुरू से शुरू होने वाले निर्दिष्ट सरणी में पाठक और स्टोर से लंबाई के बराबर वर्णों की संख्या को पढ़ता है

उदाहरण के लिए, मान लें कि हमारे पास निम्न सामग्री के साथ input.txt नामक एक फ़ाइल है।

 This is a line of text inside the file. 

चलो फ़ाइल का उपयोग करके पढ़ने की कोशिश करते हैं BufferedReader

 import java.io.FileReader; import java.io.BufferedReader; class Main ( public static void main(String() args) ( // Creates an array of character char() array = new char(100); try ( // Creates a FileReader FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // 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 फ़ाइल से जुड़ा हुआ है ।

 FileReader file = new FileReader("input.txt"); BufferedReader input = new BufferedReader(file); 

यहां, हमने read()बफ़र रीडर के आंतरिक बफर से वर्णों की एक सरणी को पढ़ने के लिए विधि का उपयोग किया है ।

छोड़ना () विधि

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

 import java.io.FileReader; import java.io.BufferedReader; public class Main ( public static void main(String args()) ( // Creates an array of characters char() array = new char(100); try ( // Suppose, the input.txt file contains the following text // This is a line of text inside the file. FileReader file = new FileReader("input.txt"); // Creates a BufferedReader BufferedReader input = new BufferedReader(file); // Skips the 5 characters input.skip(5); // Reads the characters input.read(array); System.out.println("Data after skipping 5 characters:"); System.out.println(array); // closes the reader input.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) ) 

आउटपुट

 5 अक्षर लंघन के बाद डेटा: फ़ाइल के अंदर पाठ की एक पंक्ति है। 

उपरोक्त उदाहरण में, हमने skip()फ़ाइल रीडर से 5 वर्णों को छोड़ने के लिए विधि का उपयोग किया है । इसलिए, वर्ण 'T', 'h', 'i', 's'और ' 'मूल फ़ाइल से छोड़ दिया जाता है।

बंद () विधि

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

बफ़रदर के अन्य तरीके

तरीका विवरण
ready() जाँचता है कि फ़ाइल रीडर पढ़ने के लिए तैयार है या नहीं
mark() पाठक में स्थिति को चिह्नित करें कि किस डेटा को पढ़ा गया है
reset() पाठक को उस बिंदु पर नियंत्रण लौटाता है जहां निशान स्थापित किया गया था

अधिक जानने के लिए, जावा बफर (आधिकारिक जावा प्रलेखन) पर जाएं।

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