मुझे पता है कि skip(long)
FileInputStream
फ़ाइल की प्रारंभिक स्थिति से बाइट्स छोड़ती है और फ़ाइल सूचक को स्थान देती है। लेकिन अगर हम फ़ाइल के बीच में केवल 20 वर्ण छोड़ना चाहते हैं, और फ़ाइल के शेष भाग को पढ़ने के लिए, हमें क्या करना चाहिए?आईओ जावा में छोड़ें() विधि?
उत्तर
आपको BufferedReader
का उपयोग करना चाहिए। इसकी skip
विधि वर्ण छोड़ती है और बाइट नहीं।
एक मौजूदा FileInputStream
से 20
वर्ण छोड़ करने के लिए:
BufferedReader reader = new BufferedReader(new InputStreamReader(fileInputStream));
// read what you want here
reader.skip(20);
// read the rest of the file after skipping
Waooo, दिलचस्प –
@QuanNguyen - एक अंगूठे नियम के रूप में, याद रखें कि * बाइट्स पर पाठ स्ट्रीम, पाठकों/लेखकों पात्रों पर काम करते हैं * – TheLostMind
ध्यान रखें कि 'BufferedReader.skip()' भी आवश्यक रूप से वही नहीं कर सकता जो आप चाहते हैं आपके पास [बीएमपी] के बाहर वर्ण हैं (https://en.wikipedia.org/wiki/Plane_ (यूनिकोड) # बेसिक_Multilingual_Plane)। – Phylogenesis
एक काउंटर mantain।
लूप सभी वर्ण प्रत्येक पढ़ने के लिए काउंटर को बढ़ाते हैं। जब आप छोड़े जाने वाले पात्रों की शुरुआत के अनुरूप काउंटर सीमा तक पहुंच जाते हैं, तो उन पात्रों को छोड़ दें जिन्हें आपको छोड़ने की आवश्यकता है।
int counter = 0;
while (counter < START_SKIP) {
int x = input.read();
// Do something
}
input.skip(NUM_CHARS_TO_SKIP);
...
// Continue reading the remainings chars
आवश्यक उपयोग एक BufferedReader
प्रदर्शन में सुधार करने हैं के रूप में Tunaki कहा (या BufferedInputStream
फ़ाइल आप पढ़ रहे हैं के प्रकार पर निर्भर, द्विआधारी या पाठ फ़ाइल है)।
- 1. जावा फ़ाइल/आईओ एपीआई
- 2. जावा आउटपुटस्ट्रीम छोड़ें (ऑफसेट)
- 3. आईओ
- 4. आईओ
- 5. आईओ
- 6. जावा बड़ी फ़ाइलों को डिस्क आईओ प्रदर्शन
- 7. हास्केल में [आईओ इंट] आईओ [Int] में कनवर्ट करें?
- 8. विधि 'छोड़ें' केवल LINQ से इकाइयों में क्रमबद्ध इनपुट के लिए समर्थित है। विधि 'छोड़ें' विधि से पहले 'ऑर्डरबी' विधि को कॉल किया जाना चाहिए
- 9. जावा में ArrayList.toArray() विधि
- 10. जावा में क्लोन() विधि
- 11. अक्का में ब्लॉकिंग आईओ
- 12. फ़ाइल आईओ
- 13. जावा आईओ में डिफ़ॉल्ट बफर आकार 8k क्यों है?
- 14. जावा आईओ बनाम एनआईओ, वास्तव में क्या अंतर है?
- 15. एसिंक्रोनस आईओ
- 16. एक्सप्रेस आईओ
- 17. क्या सॉकेट आईओ में डिस्क आईओ शामिल है?
- 18. रेल में पहले_फिल्टर छोड़ें
- 19. जावा में टेक्स्ट फ़ाइल से कुछ पंक्ति कैसे छोड़ें?
- 20. आईओ-एपीआईसी-फास्टेई और आईओ-एपीआईसी-एज
- 21. जावा विधि
- 22. विधि जावा
- 23. जावा विधि
- 24. जावा विधि
- 25. जावा में स्प्लिट() विधि डॉट (।)
- 26. जावा में स्थिर विधि बुला
- 27. जावा - मुख्य विधि में Thread.sleep
- 28. जावा में कॉलिंग विधि ढूंढें
- 29. जावा में सभी विधि आभासी
- 30. जावा विधि
'skip' वर्तमान फ़ाइल स्थिति से काम करता है। पाठ के लिए एक पाठक का उपयोग करें (इनपुटस्ट्रीम रीडर ब्रिज बाइनरी बाइट यूनिकोड जावा टेक्स्ट में)। बफरिंग के लिए एक बुफर्ड ~ संस्करण का उपयोग करें। –