Отдельный не ответ: вы этого не делаете. Если у вас нет много времени под рукой.
Видите ли: парсинг произвольных CSV-файлов намного сложнее, чем вы думаете. Самописный синтаксический анализатор CSV работает именно с теми входными файлами, с которыми вы изначально тестировали его. Как только вы протестируете его с некоторыми действительными CSV из другого источника, есть вероятность, что он потерпит неудачу. (и да: был там, сделал это)
Все начинается с очень простой вещи: вы не можете просто разделить на вашем разделителе. Вы видите:
"a string, with a comma","another string, another comma"
является действительным контентом CSV. Итак: вы должны внимательно следить за цитаты.
Следующим, конечно, является возможность автоматически обрабатывать различные конкретные типы, такие как разбор даты / времени и т. Д.
Таким образом: если вам нужен парсер CSV для реальной системы, рассмотрите возможность использования одного из существующих библиотечных решений, например opencsv . Не изобретайте велосипед, если нет веских причин для этого.
(Да, изучение того, как это сделать, могло бы быть хорошей причиной. Необходимость в синтаксическом анализаторе CSV нет, как другие люди написали один для вас давным-давно.)
Сказав, что: ваш текущий код жесткое кодирование все, что может / должно быть параметры в командной строке:
- имена файлов для анализа
- разделитель для использования
Итак, чтобы ответить на заданный вопрос: не вставляйте такие параметры непосредственно в код. Разрешите пользователю устанавливать их динамически, например, передавая их в командной строке.
Но опять же: это именно то, что инструмент реального мира предлагает вам бесплатно.