JSP/Servlet:如何上传 zip 文件、解压缩并提取 CSV 文件

发布于 2024-09-24 14:33:18 字数 211 浏览 7 评论 0 原文

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

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

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

  3. 读取 CSV 文件并将记录提取到 mySQL 数据库

注意:mySQL 表已设置并准备好 CSV 文件输入。

提前致谢。

Wondering how can I do the following in JSP/Servlets:

  1. Upload a zip file (containing multiple CSV files)

  2. Unzip the file to obtian the CSV files

  3. Read the CSV files and pump the records into a mySQL database

Note: mySQL table is set up and ready for CSV files inputs.

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦开始←不甜 2024-10-01 14:33:18

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

在HTML/JSP中使用带有input type="file"multipart/form-data表单来选择一个文件并上传。在 Servlet 中使用 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>。然后学习 JDBC 并使用 PreparedStatement 用于创建、填充和执行 INSERT 批量查询。 参阅有关 MySQL 和 JDBC 的迷你教程

1: Upload a zip file (containing multiple CSV files)

Use a multipart/form-data form with input type="file" in HTML/JSP to be able to select a file and upload it. Use Apache Commons FileUpload in the Servlet to be able to parse the request body and obtain the uploaded files. See also: How to upload files in JSP/Servlet?

2: Unzip the file to obtian the CSV files

Use java.util.ZipInputStream to read a zip file and extract the zip entries. See also: Compressing and Decompressing files in Java.

3: Read the CSV files and pump the records into a mySQL database

Two ways:

  1. Put the CSV somewhere on the local disk file system where the MySQL has access to and instruct it to import it using a LOAD DATA INFILE query.

  2. Use an existing CSV parser or create one to parse a CSV into a useable collection of Java objects, e.g. List<List<String>>. Then learn JDBC and use PreparedStatement to create, populate and execute an INSERT query in batches. See also this mini tutorial on MySQL and JDBC.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文