R
R
redq2021-01-24 16:07:08
Java
redq, 2021-01-24 16:07:08

How to create objects based on data from csv file?

600d701271917463541242.png
I have a test document with a set of data. I need to create objects based on this data. 1 object - 1 line. That is, the first parameter, for example, is Airliner, it corresponds to the "type" variable of my class, then Airbus A220 is the "name" variable of my class, and so on.

Answer the question

In order to leave comments, you need to log in

3 answer(s)
D
Denis Zagaevsky, 2021-01-24
@zagayevskiy

You read the file line by line, parse, create your own objects.

D
Developer, 2021-01-24
@samodum

Create an Airplane class:

private class Airplane {
    public String type;
    public String name;
    public float weight;
...
}
Далее, читаешь построчно свой текстовый файл, парсишь данные из строки и записываешь их в поля нового созданного объекта класса Airplane.
while(not end of file){
  String s = read_next_string_from_file;
  String[] data = parse_data_from(s);
  Airplane ap = new Airplane();
  ap.type = data[0];
  ap.name = data[1];
...
}

It is more correct, however, to write data through the constructor. But you already do it

V
Vasily Bannikov, 2021-01-24
@vabka

split the string by comma and parse. It will be something like:
(pseudocode)

var str = reader.readLine(); //Читаем строку

var tokens = str.split(','); // Делим строку по ','

var aircraft = new Aircraft(); // Создаём новый объект

aircraft.type = tokens[0].trim();
aircraft.name = tokens[1].trim();
aircraft.float1= Double.parseDouble(tokens[2].trim()); // Хз что это за характеристика, так что назвал это float1
aircraft.id = tokens[3].trim(); // не уверен, но похоже на бортовой номер
aircraft.country = tokens[4].trim();
aircraft.float2 = Double.parseDouble(tokens[5].trim()); // тоже не уверен, что это за значение, так что float2
aircraft.boolean1 = Boolean.parseBoolean(tokens[6].trim()); // тоже не уверен - назвал boolean1

aircrafts.add(aircraft); // где-то наверху пусть будет объявлен ArrayList со всеми объектами

There are also ready-made solutions
https://mkyong.com/java/how-to-read-and-parse-csv-...

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question