तो, फाइलों से सामग्री पढ़ने के लिए स्कैनर क्लास का उपयोग करते समय मैं बस एक दिलचस्प समस्या में भाग गया। असल में, मैं कुछ सटीकता मीट्रिक की गणना करने के लिए निर्देशिका से एक पार्सिंग एप्लिकेशन द्वारा उत्पादित कई आउटपुट फ़ाइलों को पढ़ने की कोशिश कर रहा हूं।जावा स्कैनर फ़ाइलों को पढ़ने के साथ अजीब व्यवहार
असल में, मेरा कोड निर्देशिका में प्रत्येक फाइल के माध्यम से चलता है, और सामग्री को संसाधित करने के लिए उन्हें स्कैनर के साथ खुलता है। किसी भी कारण से, कुछ फाइलें (सभी यूटीएफ -8 एन्कोडेड) स्कैनर द्वारा नहीं पढ़ी जा रही थीं। भले ही फ़ाइलें खाली नहीं थीं, स्कैनर.hasNextLine() अपनी पहली कॉल पर झूठी वापसी करेगा (मैंने डीबगर खोला और इसे देखा)। मैं प्रत्येक बार फाइल ऑब्जेक्ट्स के साथ सीधे स्कैनर शुरू कर रहा था (फ़ाइल ऑब्जेक्ट्स सफलतापूर्वक बनाए गए थे)। अर्थात्:
File file = new File(pathName);
...
Scanner scanner = new Scanner(file);
मैं चीजों की एक जोड़ी की कोशिश की, और अंत में निम्नलिखित तरीके से स्कैनर आरंभ से इस समस्या को दूर करने में सक्षम था:
Scanner scanner = new Scanner(new FileInputStream(file));
हालांकि मैं समस्या हल की है, खुश हूँ , मैं अभी भी उत्सुक हूं कि समस्या का कारण बनने के लिए क्या हो रहा है। कोई विचार? बहुत बहुत धन्यवाद!
मैं कुछ सामान एक साथ हैक कर रहा था और आपकी सटीक समस्या में भाग गया। बचाव के लिए FileInputStream! – masher