ArrayList saltando un indice

voti
-1

Voglio che la mia serie di saltare gli indici vuoti. Questo è il formato del file di testo.

some text

1
2
3
4

2
5
4
6

5
7
6
8

Ecco il mio codice

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
}
}

Ho pensato che il modo in cui ho impostato come il mio codice aggiunge linee ignora quelli vuoti. Anche chiedendo perché la dimensione della lista è di 16 quando ci sono solo 15 gli indici. La mia domanda è come faccio a ignorare righe vuote di testo in mio file.

È pubblicato 03/12/2019 alle 00:03
fonte dall'utente
In altre lingue...                            


1 risposte

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

Questa verifica solo se la linea di lettura è ornot nullo. Per definizione una linea è solo null quando l'ultima riga è stato letto. righe vuote sono rappresentate da stringhe vuote. Al fine di ignorare quelli che controlla se la linea è vuota.

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

Si potrebbe tagliare le linee se potessero contenere gli spazi che si desidera evitare.

while ((line = br.readLine()) !=null){  
     if(!line.trim().isEmpty()) {
          list.add(line);
     } 
}
Risposto il 03/12/2019 a 00:24
fonte dall'utente

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