Java 我们可以在Spring批处理中处理大型zip文件吗?

Java 我们可以在Spring批处理中处理大型zip文件吗?,java,spring,file-io,concurrency,spring-batch,Java,Spring,File Io,Concurrency,Spring Batch,我有一个很大的zip文件,大小以GB为单位。里面将有数千个平面文件。目前我们有单线程应用程序。我们希望通过应用并发来提高性能。我认为在文件I/O上执行并发操作的成本很高。以下是一些功能 将zip文件解压缩到某个位置 在这个过程中,每个平面文件和一些数据库插入,比如在一些数据库表上插入文件信息 处理完文件后将其移动到存档 因为这是一系列的步骤,我们可以使用Spring批处理吗?是否可以在弹簧配料中执行上述顺序步骤?任何人请建议是否有任何现有的框架或应用程序来引用文件I/O操作的并发性 非常感谢您的

我有一个很大的zip文件,大小以GB为单位。里面将有数千个平面文件。目前我们有单线程应用程序。我们希望通过应用并发来提高性能。我认为在文件I/O上执行并发操作的成本很高。以下是一些功能

  • 将zip文件解压缩到某个位置
  • 在这个过程中,每个平面文件和一些数据库插入,比如在一些数据库表上插入文件信息

  • 处理完文件后将其移动到存档

  • 因为这是一系列的步骤,我们可以使用Spring批处理吗?是否可以在弹簧配料中执行上述顺序步骤?任何人请建议是否有任何现有的框架或应用程序来引用文件I/O操作的并发性


    非常感谢您的帮助

    根据上述要求,您完全可以构建基于SpringBatch的应用程序,如下所示:

  • 分区器级别(可以利用网格大小)
  • 您将解压缩该文件,并为从zip中提取的每个平面文件创建1个执行上下文

  • 读者水平
  • 您可以使用ItemFileReader或自定义读取器来读取平面文件

  • 处理器级
  • 您可以处理从读卡器发送的项目

  • 编写器级别
  • 您可以设置提交间隔来控制如何写入数据库

    谢谢,
    Nghia

    我处理zip文件的经验是,不在文件系统中解压缩它们,而是使用ZipInputStream实例(Java)或其他语言的类似类读取它们。这已经节省了很多时间。