JSP / Servlets: как загрузить файл zip, распаковать его и извлечь файл CSV - PullRequest
2 голосов
/ 22 сентября 2010

Хотите знать, как я могу сделать следующее в JSP / Servlets:

  1. Загрузить ZIP-файл (содержащий несколько файлов CSV)

  2. Распакуйте файл в файл CSV

  3. Чтение файлов CSV и закачка записей в базу данных mySQL

Примечание: таблица mySQL настроена и готова для ввода файлов CSV.

Заранее спасибо.

1 Ответ

4 голосов
/ 22 сентября 2010

1: Загрузить ZIP-файл (содержащий несколько файлов CSV)

Используйте форму multipart/form-data с input type="file" в HTML / JSP, чтобы иметь возможность выбрать файл и загрузить его. Используйте Apache Commons FileUpload в сервлете, чтобы иметь возможность анализировать тело запроса и получать загруженные файлы. Смотрите также: Как загрузить файлы в JSP / Servlet?

2: разархивировать файл, чтобы сохранить файлы CSV

Используйте java.util.ZipInputStream, чтобы прочитать файл zip и извлечь записи zip. См. Также: Сжатие и распаковка файлов в Java .

3: чтение файлов CSV и закачка записей в базу данных mySQL

Два способа:

  1. Поместите CSV где-нибудь в файловую систему локального диска, к которой MySQL имеет доступ, и дайте команду импортировать его, используя запрос LOAD DATA INFILE.

  2. Используйте существующий анализатор CSV или создайте один для анализа CSV в пригодную для использования коллекцию объектов Java, например, List<List<String>>. Затем изучите JDBC и используйте PreparedStatement для создания, заполнения и выполнения запроса INSERT в пакетном режиме. Смотрите также этот мини-учебник по MySQL и JDBC .

...