Так что мой файл CSV содержит что-то вроде в первенствуетКак начать сканирование со второй строки моих данных CSV в связанный список?
speed period warning pair
1 26 1 1 1
2 26 1 1 1
3 26 1 1 1
4 26 1 1 1
В моем файле сканера у меня есть
public class scanner {
public static void main(String[] args) throws IOException {
// open file input stream
BufferedReader reader = new BufferedReader(new FileReader(
"amis.csv"));
// read file line by line
String line = null;
Scanner scanner = null;
int index = 0;
List<amis> empList = new ArrayList<>();
while ((line = reader.readLine()) != null) {
amis emp = new amis();
scanner = new Scanner(line);
scanner.useDelimiter(",");
while (scanner.hasNext()) {
String data = scanner.next();
if (index == 0) {
emp.setId(data);
} else if (index == 4) {
emp.setPair(data);
} else if (index == 3) {
emp.setWarning(data);
} else if (index == 2) {
emp.setPeriod(data);
}else if (index == 1) {
emp.setSpeed(data);
}else {
System.out.println("invalid data::" + data);
}
index++;
}
index = 0;
empList.add(emp);
}
//close reader
reader.close();
System.out.println(empList);
}
Но выход моего связного списка будет отображаться
ID = "" :: Пара = «пара» :: Предупреждение = «предупреждение» :: Период = «период» :: Скорость = «скорость»,
ID = «1» :: Пара = 1 :: Предупреждение = 1 :: Период = 1 :: Скорость = 26,
ID = "2" :: Пара = 1 :: Предупреждение = 1 :: Период = 1 :: Скорость = 26,
ID = "3" :: Пара = 1 :: Предупреждение = 1 :: Период = 1 :: Скорость = 26,
ID = "4" :: Пара = 1 :: Warning = 1 :: Период = 1 :: Скорость = 26,
Как я просто начать с второй ряд.
Вызов 'reader.readLine();' перед вашим циклом while. –
Вам действительно нужно читать csv-файл? Если не использовать [commons-csv] (https://commons.apache.org/proper/commons-csv/). Если да, попробуйте использовать рекомендуемый способ чтения файлов: [Java try with resources] (https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html) – adgon92
@AndyTurner Спасибо! Это разрешило – computer