एक सूचकांक लंघन ArrayList

वोट
-1

मैं अपने सरणी खाली अनुक्रमित छोड़ना चाहते। यह पाठ फ़ाइल का स्वरूप है।

some text

1
2
3
4

2
5
4
6

5
7
6
8

यहाँ मेरी कोड है

import java.io.*; 
import java.util.*;
import java.io.IOException;
class ArrayPractice {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new FileReader(file.txt)); //reads the file
        ArrayList<String> list = new ArrayList<String>(); //creates arraylist
        String line;
    while ((line = br.readLine()) !=null){ 
                        //i thought this just reads the lines and if its null skips it but its not happening
         list.add(line);
    }
        br.close();
        System.out.println(list);
        if (list.get(2).equals(list.get(5))){ //comparing two of the lines that should be equal
            System.out.println(Should be equal);
        } else {
            System.out.println(list.get(3));
            System.out.println(list.get(7));
            System.out.println(This is what is actually equal from my code)
        }
            System.out.println(list.size()); //says the size of the list is 16
}
}

मैं जिस तरह से मैं की स्थापना सोचा कि मेरे कोड पंक्तियां खाली लोगों पर ध्यान नहीं देता कहते हैं। इसके अलावा सोच क्यों सूची का आकार 16 है जब वहाँ केवल 15 अनुक्रमित रहे हैं। मेरा प्रश्न कैसे मैं अपनी फ़ाइल में पाठ का रिक्त लाइनों की अनदेखी करते हैं।

03/12/2019 को 00:03
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
0
while ((line = br.readLine()) !=null){  
     list.add(line);
}

यह केवल चेकों पढ़ने लाइन अशक्त ornot है या नहीं। परिभाषा के अनुसार एक पंक्ति केवल अशक्त जब अंतिम पंक्ति को पढ़ने की गई है। खाली लाइनों रिक्त स्ट्रिंग का प्रतिनिधित्व कर रहे। आदेश उन को छोड़ करने के लिए आपको कि क्या लाइन खाली है की जाँच करने के लिए है।

while ((line = br.readLine()) !=null){  
     if(!line.isEmpty()) {
          list.add(line);
     } 
}

आप लाइनों ट्रिम अगर वे रिक्त स्थान आप बचना चाहते हैं हो सकता है हो सकता है।

while ((line = br.readLine()) !=null){  
     if(!line.trim().isEmpty()) {
          list.add(line);
     } 
}
03/12/2019 को 00:24
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more