(Operación de archivo) Caso de operación: Modificar el nombre del archivo por lotes

Caso de operación: modificar nombres de archivos en lotes

Escriba el programa, ingrese el nombre del directorio cuando el programa se esté ejecutando y modifique todos los archivos en el nombre del directorio, incluido el sufijo del archivo en el subdirectorio a .txt.

Para este tipo de operación, se deben establecer algunas convenciones hipotéticas. Todos los archivos que se pueden renombrar tienen un sufijo. Si no hay un sufijo, se le agrega la ruta. Si hay un sufijo, la ruta debe ser interceptada con el último ".".

 

Clase de implementación:

 public static void renameDir(File file){
        if(file.isDirectory()){     //是一个目录
            File[] results = file.listFiles();  //列出子目录的内容
            if(results != null){
                for (int x = 0;x<results.length;x++){
                    renameDir(results[x]);  //递归调用
                }
            }
        }else{
            if(file.isFile()){  //如果是文件就必须要重命名
                String fileName = null;
                if(file.getName().contains(".")){ //判断文件名是否有“.”
                    //把file的文件名字从索引0开始找到最后一个“.”,在将他们截取,保存的是除去后缀的文件名
                    fileName = file.getName().substring(0,file.getName().lastIndexOf("."))+".txt";
                }else{
                    fileName = file.getName()+".txt";  //没有"."直接保存这个数据
                }
                File newFile = new File(file.getParentFile(),fileName);  //从父路径名字符串和子路径名字符串创建新的File实例
                file.renameTo(newFile); //重命名
            }
        }
    }

Método principal:

File file = new File("F:"+File.separator+"Test"); //File.separator表示分隔符
        renameDir(file);

A menudo aparece durante el proceso de entrevista. Esta estructura se puede adoptar dándole una ruta para las operaciones de modificación por lotes de nombres o archivos.

Supongo que te gusta

Origin blog.csdn.net/weixin_46245201/article/details/112757646
Recomendado
Clasificación