Это цикл по времени, и вы не будете знать, когда дойдете до конца, пока не дойдете до конца. У вас есть два варианта:
- Плохой вариант: прочитайте его один раз и посчитайте количество строк, а затем
когда вы читаете его во второй раз, вы можете
break
цикл, когда вы
линия достижения (счетчик-1).
- Хороший вариант: кажется, что ваши файлы разделены каналом
вы обрабатываете построчно, просто убедитесь, что
line.trim().spit("|").length() > 1
или в вашем случае сделайте некоторую работу как
Пока количество записей в строке больше 1. Это будет
убедитесь, что вы не применяете свою логику в строках с одним столбцом
это ваш последний ряд, он же нижний колонтитул.
Пример взят из общего достояния Apache и изменен буквально
Reader in = new FileReader("path/to/file.csv");
Iterable<CSVRecord> records = CSVFormat.RFC4180.parse(in);
for (CSVRecord record : records) {
//all lines except the last will result greater than 1
if (record.size() > 1){
//do your work here
String columnOne = record.get(0);
String columnTwo = record.get(1);
}
}