Advertisement

批量修改文件夹下的文件名称以及子文件夹下的文件名称

阅读量:

批量修改文件夹下的文件名称以及子文件夹下的文件名称

贴代码,话不多说

复制代码
    package com.jnd.text;
    
    import java.io.File;
    
    public class Myfiles {
    	public static void main(String[] args) {
    		name("F:\ 测试");//引号里面改成你想要改的文件夹所在的路径
    }
    public static int name(String path) {
    	//0:文件夹
    	int t=0;
    	File f = new File(path);
    	if(f.isDirectory()){
    	//如果不需要更改文件夹下面文件夹里面的文件名称,就把这几行注释了
    			System.out.println("路径是目录");//如果是文件夹(Midir)
    			File[] fs=f.listFiles();//获取文件夹下的所有文件
    			for (File file : fs) {
    				System.out.println(file.getName());
    				name(file.getPath());//循环判断文件夹下列表是不是文件夹
    			}
    		}else{
    			System.out.println(f.getName().substring(0,f.getName().indexOf(".") ));
    			System.out.println("路径不是目录"); //不是文件夹
    			System.out.println("修改前文件名称是:"+f.getName());
    			String mypath = f.getParent();//获取文件所在路径
    			String pname = f.getParentFile().getName()+".";//获取父文件夹的名称
    			if(!pname.equals(f.getName().substring(0, f.getName().indexOf(".")+1))){//判断该文件名称是否已经以父文件夹的名称开头
    				System.out.println("根路径是:"+mypath+",上一级文件夹名为:"+pname);
    				File newFile = new File(mypath + File.separator +pname+f.getName() );//重新更新文件
    				System.out.println("修改后文件名称是:"+newFile.getName());
    				if (f.renameTo(newFile)) {
    					System.out.println("修改成功!");
    				}else {
    					System.out.println("修改失败");
    				}
    			}
    		}
    		
    		return t;
    	}
    }

全部评论 (0)

还没有任何评论哟~