想知道如何在 JSP/Servlet 中执行以下操作:
上传 zip 文件(包含多个 CSV 文件)
解压文件以获取 CSV 文件
读取 CSV 文件并将记录存入 mySQL 数据库
注意:mySQL 表已设置并准备好用于 CSV 文件输入。
提前致谢。
最佳答案
1: Upload a zip file (containing multiple CSV files)
使用 multipart/form-data
表单为 input type="file"
在 HTML/JSP 中能够选择文件并上传。使用Apache Commons FileUpload在Servlet中能够解析请求体并获取上传的文件。另请参阅:How to upload files in JSP/Servlet?
2: Unzip the file to obtian the CSV files
使用 java.util.ZipInputStream
读取 zip 文件并提取 zip 条目。另请参阅:Compressing and Decompressing files in Java .
3: Read the CSV files and pump the records into a mySQL database
两种方式:
将 CSV 放在 MySQL 可以访问的本地磁盘文件系统上的某个位置,并指示它使用
LOAD DATA INFILE
导入它。查询。使用现有的CSV parser或create one将 CSV 解析为可用的 Java 对象集合,例如
List<List<String>>
。然后learn JDBC并使用PreparedStatement
创建、填充和执行INSERT
批量查询。另请参阅此mini tutorial on MySQL and JDBC .
关于java - JSP/Servlets : How do I Upload a zip file, 解压缩并提取 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3768104/