文件管理 · 2022年8月10日

java批量更改文件名|如何使用java程序批量修改特定文件夹下的文件名

『壹』 在不同的文件夹中给文件批量改名

迷糊

『贰』 java 批量读取并修改文件名称。

写好的,你自己看着作一点修改就行import java.io.*;import java.sql.*;public class RenameFile{ File parentFile; public RenameFile(File parentFile) { this.parentFile = parentFile; readDataBase(parentFile.list()); } private void readDataBase(String[] list)//这个函数里读数据库的方式可能跟你的不一样,自己看着改改 { for(String oldName:list) { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn = DriverManager.getConnection("jdbc:odbc:DSN","","");//DSN是数据源名字 Statement st = conn.createStatement(); ResultSet rs = st.executeQuery("Select * from TABLENAME where FILENAME = "+oldName);//TABLENAME是数据库里表的名字,FILENAME是表示文件名的字段的名字 while (rs.next()) { String newName = rs.getString("NUMBER");//NUMBER是表示学号的字段,getString要根据你定义的数据类型作改动为getInt或其他 rename(oldName,newName); } } catch (Exception e) { e.printStackTrace(); } } } private void rename(String oldName, String newName) { try { File source = new File(parentFile.toString()+"\\"+oldName); File target = new File(source.getParent()+"\\"+newName); boolean res = source.renameTo(target); } catch (Exception e) { e.printStackTrace(); } } public static void main(String [] args) { String path = "path";//这里把path改成文件夹的路径 File file = new File(path); new RenameFile(file); }}_______________________________for(String oldName:list) 这个是java 5.0以后才出现的新语法,也是一种循环,这个循环的次数是list的元素个数,用oldName作为临时变量,指代list中的每一个元素。当然你也可以这样写:for(int i=0, i<list.length(), i++)

『叁』 java怎样按规定批量修改文件名

java批量修改文件名:public static void main(String[] args) {updateFileNames("D:\\jjjj", "第");}public static void updateFileNames(String url, String index){File file = new File(url);//判断文件目录是否存在,且是文件目录,非文件if(file.exists() && file.isDirectory()){File[] childFiles = file.listFiles();String path = file.getAbsolutePath();for(File childFile : childFiles){//如果是文件if(childFile.isFile()){String oldName = childFile.getName();String newName = oldName.substring(oldName.indexOf(index));childFile.renameTo(new File(path + "\\" + newName));}}}}

『肆』 谁知道怎样一次性把一堆文件的名称改成连续的数字顺序。

批量将文件名称改成001,002,003,004……这样子的:

步骤1,下载并安装上面的批量重命名软件,如下图所示点击任意一个红框位置,将需要重命名的文件全部导入到软件中,如果导入的文件比较多请等待一小会。

『伍』 java如何对某文件夹内的wav文件批量改名

运行之后就不能找到原来的文件名了,注意备份。

把文件放到D:/TestRename 目录下

importjava.io.File;importjava.io.IOException;publicclassTest{publicstaticvoidmain(String[]args)throwsIOException{ Filefile=newFile("D:/TestRename"); StringdirPath=file.getAbsolutePath(); File[]files=file.listFiles(); intindex=0; for(FilefileFrom:files){if(fileFrom.toString().contains(".wav")){ index++; StringfromFile=fileFrom.getName(); StringtoFileName; fromFile=String.format("%04d",index); toFileName=dirPath+"\"+fromFile+".wav"; FiletoFile=newFile(toFileName); fileFrom.renameTo(toFile); } }}}

『陆』 java 关于批量修改文件名的问题

先将所有的.wav后缀的文件筛选出来,然后用File对象的renameTo方法。renameTopublicbooleanrenameTo(Filedest)重新命名此抽象路径名表示的文件。此方法行为的许多方面都是与平台有关的:重命名操作无法将一个文件从一个文件系统移动到另一个文件系统,该操作不是不可分的,如果已经存在具有目标抽象路径名的文件,那么该操作可能无法获得成功。应该始终检查返回值,以确保重命名操作成功。参数:dest-指定文件的新抽象路径名返回:当且仅当重命名成功时,返回true;否则返回false看File对象的API。要去掉A你就先用String中的replace方法,加上正则表达式,把文件名替换了。aaaaA.wav通过正则匹配替换成aaaa.wav还有就是用String中的split方法用点切割,然后切完后的前一个String去掉最后一个字符,重命名的时候加上.wav

『柒』 java修改文件后缀名

以下程序实现的功能是批量修改文件后缀:import java.io.*;/** * JAVA实现的批量更改文件后缀名的程序。 * * @author rommnn */public class ExtBatchRename { /** * 修改程序。<br> * 内部递归调用,进行子目录的更名 * * @param path * 路径 * @param from * 原始的后缀名,包括那个(.点) * @param to * 改名的后缀,也包括那个(.点) */ public void reName(String path, String from, String to) { File f = new File(path); File[] fs = f.listFiles(); for (int i = 0; i < fs.length; ++i) { File f2 = fs[i]; if (f2.isDirectory()) { reName(f2.getPath(), from, to); } else { String name = f2.getName(); if (name.endsWith(from)) { f2.renameTo(new File(f2.getParent() + "/" + name.substring(0, name.indexOf(from)) + to)); } } } } public static void main(String[] args) { ExtBatchRename rf = new ExtBatchRename(); rf.reName("d:/www.laozizhu.com", ".jsp", ".html"); }}

『捌』 如何使用java程序批量修改特定文件夹下的文件名

public static void main(String[] args) { updateFileNames("D:\\jjjj", "第"); }public static void updateFileNames(String url, String index){ File file = new File(url); //判断文件目录是否存在,且是文件目录,非文件 if(file.exists() && file.isDirectory()){ File[] childFiles = file.listFiles(); String path = file.getAbsolutePath(); for(File childFile : childFiles){ //如果是文件 if(childFile.isFile()){ String oldName = childFile.getName(); String newName = oldName.substring(oldName.indexOf(index)); childFile.renameTo(new File(path + "\\" + newName)); } } } }

『玖』 如何批量命名文件名

如果只有一百个,手动也不是不行,细心就成

如果会写一点程序也可以操作,比如把100个人的身份证号放到一个数组中,然后用一个循环分别对原为1到100的文件重命名为数组中的值

随手写一个10个人的例子(一百一千也同理)

重命名后

附程序(以Java为例,写的不严谨但可用,大佬轻喷)

开发环境:JDK8 需要依赖POI


import org.apache.poi.xssf.usermodel.XSSFRow;import org.apache.poi.xssf.usermodel.XSSFSheet;import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.*;public class BatchRename {public static void main(String[] args) throws IOException {String rootDir = "E:"+ File.separator +"Work";//文档所在的文件夹,比如E:\WorkString[] idNumArr = new String[10];File file = null;//存储旧的文件对象File fileNew = null;//存储新的文件对象File excelFile = new File("E:"+ File.separator +"杂货屋"+File.separator+"身份证号.xlsx");//Excel文件对象//读取Excel中的身份证号FileInputStream fis = new FileInputStream(excelFile);XSSFWorkbook wb = new XSSFWorkbook(fis);for(int numSheet = 0;numSheet< wb.getNumberOfSheets();numSheet++){XSSFSheet xssfSheet = wb.getSheetAt(numSheet);//遍历所有表if(xssfSheet==null){continue;}//遍历所有行for (int numRow = 0; numRow <= xssfSheet.getLastRowNum(); numRow++) {XSSFRow xssfRow = xssfSheet.getRow(numRow);if(xssfRow!=null){//根据需求处理具体的列idNumArr[numRow] = xssfRow.getCell(0).getStringCellValue();}}}for (int i = 0; i < 10; i++) {file = new File(rootDir+File.separator+String.valueOf(i+1)+".docx");fileNew = new File(rootDir + File.separator + idNumArr[i]+".docx");if(!file.renameTo(fileNew)){System.out.println(rootDir+File.separator+String.valueOf(i+1)+"重命名失败");}}}}


Maven依赖如下:

<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.16</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.16</version></dependency><dependency><groupId>net.sourceforge.jexcelapi</groupId><artifactId>jxl</artifactId><version>2.6.10</version></dependency>

『拾』 Java编程对批量文件重命名

importjava.io.File;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassTest{publicstaticvoidmain(String[]args)throwsException{Filedir=newFile("d:/test");//此处表示你要改的文件所在的文件夹,也修改为其它文件夹,或者当前文件夹newFile(".")File[]files=dir.listFiles();StringfileName=null;StringparentPath=dir.getAbsolutePath();Patternp=Pattern.compile("广东-(广州\d+\.txt)");Matcherm=null;for(Filefile:files){fileName=file.getName();m=p.matcher(fileName);if(m.matches()){file.renameTo(newFile(parentPath+File.separator+m.group(1)));}}}}