问题:根据Excel文件中内容,把文件名称由第2列,改为第1列。比如:把文件“123.jpg”修改为“1.jpg”。

aaarticlea/png;base64,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" alt="" />

思路1:按行读取Excel文件,同时遍历文件;修改文件名称。(双层for循环,效率:n*n)

* 思路2:把文件以Map的形式进行一一存储;读取Excel文件,从Map中取得文件;修改文件名称。(效率:n+n)


/**
* 描述:根据Excel中的内容,修改目标路径下的文件名称
* @param excelFile 源Excel文件(最原始文件,3列的)
* @param path 文件夹的路径
* @param column 表格中的第几列。0序号;2姓名
* @throws CheckException
*/
public static void updateFileName(File excelFile,File path,Integer column) throws CheckException{
checkExcelFile(excelFile);
if(path.listFiles()==null){
throw new CheckException("照片文件不存在!");
}
//1.遍历文件,把文件存储至 Map中。键:文件名称(无后缀),值:文件
File[] files=path.listFiles();
Map<String,File> fileMap=new HashMap<String,File>();
for(File file:files ){
String name=file.getName();
String prefixPhoto=name.substring(0,name.lastIndexOf('.'));
fileMap.put(prefixPhoto,file);
} try{
    //2.遍历Excel文件
Workbook workbook=new HSSFWorkbook(new FileInputStream(excelFile));
Sheet sheet = workbook.getSheetAt(0); // 从工作区中取得页(Sheet)
int rowEnd = sheet.getLastRowNum();
for (int i = 0; i < rowEnd; i++) {//行 循环打印Excel表中的内容
Row row = sheet.getRow(i);
String idcard = row.getCell(1).getStringCellValue();//(列,行)
File photoFile=fileMap.get(idcard);
       //3.修改文件名称
if(photoFile!=null){
String fileName=photoFile.getName();
String subfixPhoto=fileName.substring(fileName.lastIndexOf('.'));
row.getCell(column).setCellType(Cell.CELL_TYPE_STRING);//设置Excel文件中单元格内容的类型为String类型
String text = row.getCell(column).getStringCellValue();
photoFile.renameTo(new File(photoFile.getParent()+"\\"+text+subfixPhoto));//修改文件名称
}
}
} catch (Exception e) {
e.printStackTrace();
}
}

根据Excel文件中的内容,修改指定文件夹下的文件名称的更多相关文章

  1. 用java将excel表格中的内容修改后写入到另一个excel中

    package nn; import java.io.File; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import jxl. ...

  2. 向txt文件中写入内容(覆盖重写与在末尾续写+FileOutputStream与FileWriter)(转发:https://blog.csdn.net/bestcxx/article/details/51381460)

    !!!! 读取txt文件中的内容 import java.io.BufferedReader; import java.io.File; import java.io.FileReader; /** ...

  3. java代码将excel文件中的内容列表转换成JS文件输出

    思路分析 我们想要把excel文件中的内容转为其他形式的文件输出,肯定需要分两步走: 1.把excel文件中的内容读出来: 2.将内容写到新的文件中. 举例 一张excel表中有一个表格: 我们需要将 ...

  4. 修改tnsnames.ora文件中配置内容中的连接别名后,连接超时解决办法

    1.tnsnames.ora文件中配置内容中的连接别名:由upaydb修改为IP地址 2.连接超时 定位原因: PLSQL登录界面的数据库列表就是读的tnsname.ora中连接的别名,这个文件中连接 ...

  5. iOS案例:读取指定txt文件,并把文件中的内容输出出来

    用到的是NSString中的initWithContentsOfFile: encoding方法 // // main.m // 读取指定文件并输出内容 // // Created by Apple ...

  6. 从Excel文件中读取内容

    从Excel文件中读取内容 global::System.Web.HttpPostedFileBase file = Request.Files["txtFile"]; strin ...

  7. python 修改文件中的内容

    在python的文件操作中,是没有办法对文件中具体某行或者某个位置的内容进行局部的修改的,如果需要对文件的某一行内容进行修改,可以先将文件中的所有的内容全部读取出来,再进行内容判断,是否是需要修改的内 ...

  8. linux shell 脚本获取和替换文件中特定内容

    1.从一串字符串中获取特定的信息 要求1:获取本机IP:menu.lst为系统镜象的IP配置文件,需要从中获取到本机IP信息(从文件获取信息) timeout title live find --se ...

  9. 根据excel表格中的内容更新Sql数据库

    关于[无法创建链接服务器 "(null)" 的 OLE DB 访问接口 SQL Server 2008读取EXCEL数据时,可能会报这个错误:无法创建链接服务器 "(nu ...

随机推荐

  1. windows 上驱动阻止关机重启操作

    Windows 上关机重启有很多相关的操作 HOOK 一个点搞不定  具体需要以下 4 处来布控 SSDT HOOK NtInitiatePowerAction 函数 ,直接返回失败废掉这个函数 SS ...

  2. 用C或C++为Python编写模块

    1.使用c或c++编写对应的函数例如: //modtest.c int abs(int number){ ){ return -number; } else{ return number; } } 2 ...

  3. Jmeter中ftp测试下载默认路径及文件

    今天在测试一个FTP下载功能接口时,发现根据官方文档下载可以成功,但找不到文件,管方文档的配置图如下: 根据官方文档,自己建立了一个请求如下: 但实际下载成功时却发现找不到文件 原来,奥秘是: 本地文 ...

  4. LCA(离线算法)

    hdu4547 CD操作 Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) To ...

  5. Oracle体系结构之Oracle分区

    目录 Oracle分区 0 一.Oracle分区理论知识 1 二.分区表的实现方式 1 1.范围分区(range partition table) 1 2.列表分区(list partitioning ...

  6. Redis缓冲区设置

    对于Redis服务器的输出(也就是命令的返回值)来说,其大小通常是不可控制的.有可能一个简单的命令,能够产生体积庞大的返回数据.另外也有可能因为执行了太多命令,导致产生返回数据的速率超过了往客户端发送 ...

  7. JSP学习(第一课)

    JSP页面组成: 比如: 打开网页,右键查看源代码: 打开网页: 注意: <%!%>里面定义的属性是成员属性,相当于类的属性,方法相当于是全局的方法,相当于是类里面的方法.但是它是不可以进 ...

  8. 【Loadrunner】LR破解版录制手机脚本

    LR破解版录制手机脚本          最近在网上听到好多童鞋都在问如何用LR做手机性能测试,恰好自己对这方面也挺感兴趣,经过查阅很多资料,形成此文档以做备注~!如果有感觉我写的不对的地方,敬请指正 ...

  9. 自己主动检測&后台复制光盘内容

    原理:利用python的win32模块,注冊服务,让代码在后台执行,检測光盘并复制文件 启动的方法就是直接在cmd下,main.py install ,然后去windows 的服务下就能够看到The ...

  10. centos LAMP第四部分mysql操作 忘记root密码 skip-innodb 配置慢查询日志 mysql常用操作 mysql常用操作 mysql备份与恢复 第二十二节课

    centos  LAMP第四部分mysql操作  忘记root密码  skip-innodb 配置慢查询日志 mysql常用操作  mysql常用操作 mysql备份与恢复   第二十二节课 mysq ...