Wie zu laden, zu extrahieren, zu speichern CSV-Daten an den Server und Transfer zum mysql
Frage
Kurz gesagt: Wie ein zipful von CSV-Daten in mysql gestellt
Lange: Ich habe eine Funktionalität für einen Admin zu schaffen für eine Java-Web-Anwendung zu laden Bootstrap-Daten. Der Administrator sollte eine einzelne Zip-Datei von CSV-Dateien auf der Admin-Seite hochladen kann. Die Code-Anforderungen unzip CSVs und die Daten müssen DB in einer MySQL gespeichert übertragen werden.
ich weiß, ich SQL-Skripte mit ‚Last infile csv‘ vorbereiten kann die Daten aus csv zu übertragen (in einem bestimmten Verzeichnis in meinem Web-App gespeichert) zu mysql. Für egs mit: LOAD DATA INFILE "/home/mysql/data/my_table.csv" INTO TABLE my_table FIELDS BY BEENDET '' LINES BEENDET BY '\ n';
Ich denke auch, kann ich akzeptieren und ausführen SQL-Dateien, die ich über SQL create enthalten. Ich plane http://pastebin.com/f10584951 verwenden: modifizierte Version der com.ibatis.common.jdbc.ScriptRunner Klasse.
Aber ich weiß nicht, den ersten Schritt, wie ein hochgeladenes Zip entpacken und speichern Sie die Dateien (.CSVs) in einem bestimmten Verzeichnis, dass meine SQL-Anweisungen zugreifen können.
Es wäre toll, wenn Sie mir sagen, wie das zu tun, oben mit Streifen, wie es der Rahmen i angenommen habe, aber normal Servlet / jsp 2 usw. wird auch hilfreich sein.
Vielen Dank:)
Lösung
Sie können mit java.util.zip für die CSV-Datei entpacken. Sehen Sie ein Beispiel hier .
Für Hochladen der Datei Ich empfehle Apache Commons Fileupload