@redq

Как создать объекты на основе данных из csv-файла?

600d701271917463541242.png
У меня есть тестовый документ с набором данных. Мне нужно на основе этих данных создать объекты. 1 объект - 1 строка. То есть первый параметр, к примеру, - Airliner, он соответствует переменной "type" моего класса, далее Airbus A220 - это переменная "name" моего класса, и так далее.
  • Вопрос задан
  • 72 просмотра
Пригласить эксперта
Ответы на вопрос 3
zagayevskiy
@zagayevskiy Куратор тега Java
Android developer at Yandex
Читаешь файл построчно, парсишь, создаёшь свои объекты.
Ответ написан
samodum
@samodum
Какой вопрос - такой и ответ
Создаёшь класс Airplane:
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];
...
}

Правильнее, правда, писать данные через конструктор. Но это ты сам уже сделаешь
Ответ написан
@vabka
Токсичный
разделить строку по запятой и спарсить. Будет что-то типа:
(псевдокод)
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 со всеми объектами

Есть и готовые решения
https://mkyong.com/java/how-to-read-and-parse-csv-...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Emphasoft Санкт-Петербург
от 200 000 до 400 000 ₽
от 140 000 до 230 000 ₽
от 150 000 до 400 000 ₽
01 мар. 2021, в 17:05
25000 руб./за проект
01 мар. 2021, в 16:46
150000 руб./за проект
01 мар. 2021, в 16:33
21000 руб./за проект