Поскольку имена заголовков не релевантны, вы можете отобразить свои атрибуты по позиции:
public class MyPojo{
@Trim
@Parsed(index = 0)
private String myColumn1;
@Trim
@Parsed(index = 1)
private String myColumn2;
}
Таким образом, независимо от того, какие заголовки вы получите, атрибуты будут заполняться соответственно.Используйте selectIndexes
, чтобы изменить порядок столбцов, извлеченных из ввода, чтобы они соответствовали позициям в вашем классе.
В качестве альтернативы, если заголовки могут появляться в любой случайной последовательности, вы можете сохранить исходный кодотправил и добавил вызов к методу setHeaders
:
Если ваш ввод:
user1Column,user2Column\n data1,data2
Затем используйте:
parserSettings.setHeaders("myColumn1", "myColumn2");
Если вы введете:
user2Column,user1Column\n data1,data2
Затем выполните:
parserSettings.setHeaders("myColumn2", "myColumn1");
Обратите внимание, что здесь именасоответствовать с атрибутами в вашем бобе.Заголовки все еще извлекаются из ввода, но будут игнорироваться.
Надеюсь, это поможет