From 2b4dc7715477f4fb218b69ce83bb572f111ffdb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=87=E5=AE=BD=20=E5=8F=B2?= Date: Fri, 7 Jun 2024 16:05:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=B9=E4=BA=8Etxt?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E8=AF=BB=E5=8F=96=E5=B0=91=E4=B8=8E=E4=B8=80?= =?UTF-8?q?=E7=99=BE=E6=9D=A1=E6=95=B0=E6=8D=AE=E5=8D=95=E7=8B=AC=E5=81=9A?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../GetInformationForExcelController.java | 39 +++++++++++++++ .../GetInformationForExcelServiceImpl.java | 50 +++++++++++-------- 2 files changed, 67 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/xujie/sys/modules/reader/controller/GetInformationForExcelController.java b/src/main/java/com/xujie/sys/modules/reader/controller/GetInformationForExcelController.java index 1355a31b..f50ff7e0 100644 --- a/src/main/java/com/xujie/sys/modules/reader/controller/GetInformationForExcelController.java +++ b/src/main/java/com/xujie/sys/modules/reader/controller/GetInformationForExcelController.java @@ -9,8 +9,10 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.io.BufferedReader; +import java.io.File; import java.io.FileReader; import java.io.IOException; +import java.nio.file.Files; import java.util.ArrayList; import java.util.List; @@ -90,6 +92,43 @@ public class GetInformationForExcelController { } catch (IOException e) { e.printStackTrace(); } + // 源文件路径 + String sourcePath = "E:\\file\\cs.tff"; + // 目标文件夹路径 + String destinationFolder = "E:\\info"; + + // 创建源文件对象和目标文件夹对象 + File sourceFile = new File(sourcePath); + File destinationDir = new File(destinationFolder); + + // 确保源文件存在且是文件 + if (sourceFile.exists() && sourceFile.isFile()) { + // 确保目标文件夹存在且是目录 + if (!destinationDir.exists()) { + destinationDir.mkdirs(); // 创建目标文件夹及其父目录 + } + // 构建目标文件路径 + String destinationPath = destinationFolder + File.separator + sourceFile.getName(); + File destinationFile = new File(destinationPath); + + try { + // 复制文件到目标文件夹 + Files.copy(sourceFile.toPath(), destinationFile.toPath()); + System.out.println("文件复制成功!"); + + // 删除源文件 + if (sourceFile.delete()) { + System.out.println("源文件删除成功!"); + } else { + System.out.println("源文件删除失败!"); + } + } catch (IOException e) { + e.printStackTrace(); + System.out.println("文件操作出错:" + e.getMessage()); + } + } else { + System.out.println("源文件不存在或不是文件。"); + } } } diff --git a/src/main/java/com/xujie/sys/modules/reader/service/impl/GetInformationForExcelServiceImpl.java b/src/main/java/com/xujie/sys/modules/reader/service/impl/GetInformationForExcelServiceImpl.java index 6396afb5..ce657857 100644 --- a/src/main/java/com/xujie/sys/modules/reader/service/impl/GetInformationForExcelServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/reader/service/impl/GetInformationForExcelServiceImpl.java @@ -120,24 +120,31 @@ public class GetInformationForExcelServiceImpl extends ServiceImpl equipmentDataDetails = saveTxt(txtName, excel, batchNo); - // 创建一个固定大小的线程池,这里假设有10个线程 - ExecutorService executor = Executors.newFixedThreadPool(equipmentDataDetails.size()/100); - int startList =0; - int endList=100; - for (int i = startList; i < equipmentDataDetails.size(); i= startList) { - if (endList>equipmentDataDetails.size()){ - endList = equipmentDataDetails.size(); + //如果需要新增的数量小于一百就直接新增,大于一百就做线程池新增 + if (equipmentDataDetails.size()<100){ + //批量新增 + getInformationForExcelMapper.saveByExcels(equipmentDataDetails); + }else { + // 创建一个固定大小的线程池,这里假设有10个线程 + ExecutorService executor = Executors.newFixedThreadPool(equipmentDataDetails.size()/100); + int startList =0; + int endList=100; + + for (int i = startList; i < equipmentDataDetails.size(); i= startList) { + if (endList>equipmentDataDetails.size()){ + endList = equipmentDataDetails.size(); + } + List details = equipmentDataDetails.subList(startList, endList); + startList=startList+endList; + endList=endList+endList; + executor.execute(()->{ + //批量新增 + getInformationForExcelMapper.saveByExcels(details); + }); } - List details = equipmentDataDetails.subList(startList, endList); - startList=startList+endList; - endList=endList+endList; - executor.execute(()->{ - //批量新增 - getInformationForExcelMapper.saveByExcels(details); - }); + // 关闭线程池 + executor.shutdown(); } - // 关闭线程池 - executor.shutdown(); for (String s : txtName) { deleteBypath( s, excel.getBackupFolderPath()); } @@ -164,19 +171,18 @@ public class GetInformationForExcelServiceImpl extends ServiceImpl