Java find a string in text not working -


यह एक नमूना .txt फ़ाइल है:

  item1 Item2 myString item3 item4   

मैंने एक .txt फ़ाइल में एक स्ट्रिंग खोजने के लिए एक वर्ग बनाया:

  सार्वजनिक स्थिर स्ट्रिंग रेखा टॉफिंड ; सार्वजनिक स्थिर बूलियन लाइन फ़ाउंड; सार्वजनिक स्थिर शून्य खोजने लाइन () IOException फेंकता {try {lineFound = true; Fstream = नया FileInputStream ("C: / उपयोगकर्ता / Franky / Documents / NetBeansProjects / JavaApplication5 / src / Punteggi / squadre"); = नए डेटाइनपुटस्ट्रीम (एफस्ट्रीम) में; Br = नया BufferedReader (नया InputStreamReader (में)); लाइनटोफिंड = "माइस्ट्राइंग"; स्ट्रिंग स्ट्रलाइन; जबकि (br.readline ()! = नल) यदि (br.readline ()! = LineToFind) {lineaFound = false; }} कैच (फाइलनोटफ़ेन्डएक्सेशन पूर्व) {लकड़हारा.गेटलागजर (लेग्गीडाफ़ाइल.क्लैश.गेटएनम ())। लॉग (स्तर। एसईएसईईई, एनल, एक्स); }}   

इस श्रेणी को किसी अन्य वर्ग में प्रयोग किया जाता है, यदि लाइनआफंड = गलत;

  निजी शून्य बचाना बटन एक्शनपररफ़ेड (java.awt.event.ActionEvent evt) {// TODO यहां अपना हैंडलिंग कोड जोड़ें: FindLine (); If (lineFound = true) {callFunction1 (); } If (lineFound = false) {callFunction2 (); }}   

अब समस्या यह है कि callFunction2 () को कभी भी नहीं कहा जाता है, भले ही " myString " फ़ाइल में शामिल नहीं है । आसानी से " झूठे " कभी भी ऐसा नहीं होता, भले ही ऐसा हो! धन्यवाद

यह आपकी समस्या है:

  स्ट्रिंग स्ट्रलाइन; जबकि (br.readline ()! = नल) यदि (br.readline ()! = LineToFind) {lineaFound = false; }   

आप लाइन दो बार पढ़ रहे हैं। और आप स्ट्रिंग पर तुलना स्ट्रिंग पर बराबर किए बिना कर सकते हैं ...

  स्ट्रिंग स्ट्रलाइन; जबकि (strline = br.readline ()! = Null) यदि (strline.equals (lineToFind)) {lineaFound = false; }   

एक और जवाब से असाइनमेंट समस्या भी है।

Comments