java - JSP/Servlets : How do I Upload a zip file, 解压缩并提取 CSV 文件

标签 java mysql servlets csv zip

想知道如何在 JSP/Servlet 中执行以下操作:

  1. 上传 zip 文件(包含多个 CSV 文件)

  2. 解压文件以获取 CSV 文件

  3. 读取 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

两种方式:

  1. 将 CSV 放在 MySQL 可以访问的本地磁盘文件系统上的某个位置,并指示它使用 LOAD DATA INFILE 导入它。查询。

  2. 使用现有的CSV parsercreate 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/

相关文章:

java - Tomcat 间歇性地服务请求

mysql - IBatis如何在一次调用中执行多个查询

java - 在 :each 中包含新元素

java - 打开铃声设置屏幕

java - Java 中的计算不等于预期结果

MySQL Store Image BLOB 不良实践性能

php - 1 个变量中的 2 个 Mysql 查询,有帮助吗?

java - 我可以在运行时在 tomcat 服务器上添加 <server-mapping>

java - 检测浏览器在 http 请求响应周期中关闭

java - 从 ArrayList 写入 XML 文件 - 错误输出