ArrayList sauter un indice

voix
-1

Je veux que mon tableau pour sauter les index vides. Ceci est le format du fichier texte.

some text

1
2
3
4

2
5
4
6

5
7
6
8

Voici mon code

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

Je pensais que la façon dont je mis en place la façon dont mon code ajoute des lignes ne tient pas compte les vierges. demande aussi pourquoi la taille de la liste est de 16 quand il n'y a que 15 indices. Ma question est de savoir comment puis-je ignorer les lignes blanches de texte dans mon dossier.

Créé 03/12/2019 à 00:03
source utilisateur
Dans d'autres langues...                            


1 réponses

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

Cela ne vérifie si la ligne lue est ornot nulle. Par définition, une ligne est nulle que lorsque la dernière ligne a été lu. Les lignes vides sont représentées par des chaînes vides. Pour ignorer ceux que vous devez vérifier si la ligne est vide.

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

Vous pouvez couper les lignes si elles pourraient contenir des espaces que vous voulez éviter.

while ((line = br.readLine()) !=null){  
     if(!line.trim().isEmpty()) {
          list.add(line);
     } 
}
Créé 03/12/2019 à 00:24
source utilisateur

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