bir dizin atlama ArrayList

oy
-1

Benim dizi boş dizinleri atlamak istiyor. Bu metin dosyasının biçimidir.

some text

1
2
3
4

2
5
4
6

5
7
6
8

İşte benim kod

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

Benim kod satırı da boş olanları görmezden ekler nasıl Kurduğum yol düşündü. sadece 15 endeksleri varken listenin büyüklüğü 16 neden Ayrıca merak. Sorum benim dosyasında metnin boş satırlar göz ardı nasıl olduğunu.

Oluştur 03/12/2019 saat 00:03
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

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

Bu yalnızca kontroller okuma hat boş ornot olup olmadığı. Tanım olarak bir çizgi son satır okundu tek boş. Boş satırlara boş dizeleri ile temsil edilmektedir. o atlamak için çizginin boş olup olmadığını kontrol etmek zorunda.

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

onlar kaçınmak istediğiniz boşluk içerebilir eğer satırları Döşeme olabilir.

while ((line = br.readLine()) !=null){  
     if(!line.trim().isEmpty()) {
          list.add(line);
     } 
}
Cevap 03/12/2019 saat 00:24
kaynak kullanıcı

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