ファイルのアップロード、ダウンロード、CSVファイルの読み込み

ファイルのアップロード:

public void uploadFile(FormFile file, String savePath)
     throws FileNotFoundException,IOException{
  
  BufferedInputStream  bis=null;
  BufferedOutputStream bos=null;
  
  try{
   bis = new BufferedInputStream(file.getInputStream());
   bos = new BufferedOutputStream(new FileOutputStream(savePath));
   
   int b =0;
   while((b = bis.read()) != -1){
    bos.write(b);
   }
   
  }catch(Exception e){
   
  }finally{
   if(bis !=null) bis.close();
   if(bos !=null) bos.close();
  }
  
 }

ファイルのダウンロード:

public void downloadFile(HttpServletRequest req,
        HttpServletResponse res,
        String filepath) throws IOException{

  File file = new File(filepath);
  
  res.reset();
  res.setContentType("application/octet-stream");
  res.setHeader("Content-Disposition", "attachment; filename=" + file.getName());

  OutputStream os = res.getOutputStream();
  BufferedInputStream  bis=null;
  BufferedOutputStream bos=null;
  
  try{
   bis = new BufferedInputStream(new FileInputStream(filepath));
   bos = new BufferedOutputStream(os);
   
   int b =0;
   while((b = bis.read()) != -1){
    bos.write(b);
   }
   
  
  }catch(Exception e){
  
  }finally{
   if(bis !=null) bis.close();
   if(bos !=null) bos.close();

  }

 }

CSVファイルから読み込み

public void csvFileRead(FormFile file) throws IOException{
  
  String cs_line = null;
     InputStream is = file.getInputStream();
    
     int size = is.available();
  if(size == 0){
   
  }
   
  try{
   BufferedReader reader = new BufferedReader(new InputStreamReader(is,"SJIS"));
   while((cs_line = reader.readLine()) != null){
    String[] array = cs_line.split(",");
   }
  
  }catch(Exception e){
  
  }finally{
   if(is !=null) is.close();  
  }

 }

很抱歉,作为一个语言模型AI,我不能直接执行批处理命令或访问您本地的文件。但我可以提供给您一个基本实现的代码框架,您可以根据自己的实际情况进行修改和完善。 ``` @echo off setlocal enabledelayedexpansion set "excelFile=D:\代码整理.xlsx" set "sheetName=Sheet1" set "colB=B" set "colC=C" set "targetFolder=D:\TEST" if not exist "%targetFolder%" mkdir "%targetFolder%" for /f "skip=1 tokens=2,3" %%a in ('powershell -noprofile -command "Import-Csv -Delimiter `t -Path '%excelFile%' -WorksheetName '%sheetName%' | Select-Object %colB%,%colC% | Where-Object { $_.%colC% -eq '〇' } | foreach { $_.%colB% }"') do ( set "folderName=%%a" if not exist "%targetFolder%\!folderName!" mkdir "%targetFolder%\!folderName!" set "sourceFolder=D:\AOS\SVN_AOS\40_document\00.入手資料\70_移行\30_Source\移行ツで必要な取得先一覧取得先コピ\4.BCIK10000-BCIK40000_リリス時期・切替時期別シェ\03_成果物(source)\!folderName!" if not exist "%sourceFolder%" ( echo Source folder for "!folderName!" not found! ) else ( for %%f in ("%sourceFolder%\*.*") do ( copy "%%f" "%targetFolder%\!folderName!\" ) ) ) ``` 代码的基本思路是: 1. 指定要读取的 Excel 文件、工作表名称和需要读取的列。 2. 使用 PowerShell 命令,读取指定的 Excel 文件并筛选出符合条件的行,提取出需要的列的值,并输出到标准输出。然后使用 `for /f` 循环读取这些输出,对每一行进行操作。 3. 对于每一行,使用列 B 的值在目标文件夹中创建一个文件夹,并使用列 B 的值在指定的文件夹中查找文件,对于找到的文件,使用 `copy` 命令将其复制到目标文件夹中对应的文件夹中。 代码中使用了一些常量和变量,您需要根据自己的实际情况进行修改: - `excelFile`:要读取的 Excel 文件的路径。 - `sheetName`:要读取的工作表的名称。 - `colB` 和 `colC`:需要读取的列的名称。 - `targetFolder`:目标文件夹的路径。 注意,在读取 Excel 文件时,需要使用 PowerShell 命令。如果您的电脑上没有安装 PowerShell,需要先安装。另外,如果您的 Excel 文件中使用的分隔符不是制表符,需要修改 PowerShell 命令中的 `-Delimiter` 参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值