使用JAVA对文件进行批量重命名

废话不多上代码


import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class ReName {
public static void main(String[] args) {
	 System.out.println("请输入路径");
	Scanner scanner=new Scanner(System.in);
	String path=scanner.next();
	File dataDir = new File(path);
	List<File> myfile = new ArrayList<File>();
     //开始遍历
    listDirectory(dataDir, myfile);
    System.out.println("目录下包含 " + myfile.size() + "个文件:");
    for(File file : myfile){
        System.out.println(file.getName());    
    }
    
    System.out.println("请输入旧字符");
    String 旧字符=scanner.next();
    System.out.println("请输入新字符,输入 NULL 为删除");
    String 新字符=scanner.next();
    
    
    for (File file : myfile) {
    	String 新软件名;
    	if (新字符.equals("NULL")) {
    		新软件名=file.getPath().replace(旧字符, "");
		}else {
			新软件名=file.getPath().replace(旧字符, 新字符);
		}
    	
    	Rename(file.getPath(), 新软件名);
	}
    System.out.println("结果:");
    myfile.clear();
    listDirectory(dataDir, myfile);
    for(File file : myfile){
        System.out.println(file.getName());    
    }
}

public static void listDirectory(File path, List<File> myfile){
    if (!path.exists()){
        System.out.println("文件名称不存在!");
    }
    else
    {
        if (path.isFile()){
            myfile.add(path);
        } else{
            File[] files = path.listFiles();
            for (int i = 0; i < files.length; i++  ){
                listDirectory(files[i], myfile);
            }
        }
    }
}

     public static boolean Rename(String oldname,String newname){
         /*旧文件名*/
         File file1 = new File(oldname);
 
         /*新文件名*/
         File file2 = new File(newname);
 
         /*重命名*/
         return file1.renameTo(file2);
 
     }
}


版权声明:本文为HU_YEI原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。