Я использую opencsv для анализа данных файла CSV, которые были загружены с использованием сети и заполнены данные чтения в компоненте (с использованием HeaderColumnNameTranslateMappingStrategy), который работает нормально.Как проверять заголовки csv с помощью opencsv
Но, пытаясь найти лучший способ проверить (как первую проверку), что если файл имеет все заголовки перед началом обработки данных.
Opencsv все еще обрабатывает файл и заполняет нулевые значения в bean-компоненте, когда в файле нет всех заголовков, которые были переданы как карта сопоставления столбцов.
Конечно, я могу это сделать, но на стороне сервера у меня нет файла, но входной поток, и как только я открыл входной поток для проверки заголовка, я не смогу использовать существующую реализацию синтаксического анализа CsvToBean # для анализа данных , – Vinod
Ahhh - потоки. Хорошо, есть способ, но вам нужно подождать, пока после разбора (потому что во время разбора заголовок читается). Таким образом, тот факт, что вы используете HeaderColumnNameTranslateMappingStrategy, означает, что у вас есть карта столбцов - это или вы можете быстро создать подмножество этой карты для требуемых столбцов. Как только синтаксический анализ будет выполнен, вы можете прокрутить имена, а затем вызвать метод getColumnIndex в заголовке HeaderColumnNameTranslateMappingStrategy, передавая реальное имя столбца. Пока вы не возвращаете нулевое целое число, то столбец находится там. –