Java читает несколько типов CSV-файлов в списокJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Java читает несколько типов CSV-файлов в список

Сообщение Anonymous »

Я написал ниже коды. Мне интересно, есть ли лучший способ сделать это.
Мой абстрактный класс для чтения файла csv.
public abstract class CsvFile {

public void readCsv(String csvString) throws IllegalAccessException {

String[] csv = csvString.split(",");
List fields = Arrays.stream(getClass().getDeclaredFields())
.filter(f -> f.isAnnotationPresent(CsvProp.class))
.sorted(Comparator.comparing(o -> Integer.parseInt(o.getName().replaceAll("[^0-9]", ""))))
.collect(Collectors.toList());

for (int i = 0; i < fields.size(); i++) {
Field field = fields.get(i);
try {
field.set(this, csv);
} catch (IndexOutOfBoundsException e) {
field.set(this, "");
}
}
}

И классы, расширяющие его.
public class CsvType1 extends CsvFile {

@CsvProp(name = "csvItem1")
public String item1;

@CsvProp(name = "csvItem2")
public String item2;
}

public class CsvType2 extends CsvFile {

@CsvProp(name = "csvItem1")
public String item1;

@CsvProp(name = "csvItem2")
public String item2;

@CsvProp(name = "csvItem3")
public String item3;
}

И служебный класс для чтения файла.
public class CsvUtils {
public static List readCsvFile(Class

Подробнее здесь: https://stackoverflow.com/questions/791 ... -into-list
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»