Java实现本地文件批量重命名的示例代码

 更新时间:2023年10月23日 11:18:41   作者:来自宇宙的曹先生  
本文主要介绍了Java实现本地文件批量重命名的示例代码,主要步骤为获取指定目录下的所有文件,对每个文件进行修改,将修改后的文件名赋给该文件,具有一定的参考价值,感兴趣的可以了解一下

1. 批量重命名

import java.io.IOException;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.stream.Stream;
/**
 * @author 曹见朋
 * @create 2023-10-23-10:02
 */
public class FileBatchRename {
    public static void main(String[] args) {
        // 设置目录路径
        String directoryPath = "D:/example";

        // 构建文件路径
        Path directory = Paths.get(directoryPath);

        try {
            // 获取目录下的所有文件
            Stream<Path> files = Files.list(directory);

            // 遍历所有文件并重命名
            files.forEach(file -> {
                try {
                    // 获取文件的名称
                    String fileName = file.getFileName().toString();

                    // 新的文件名(可以按需修改)
                    String newFileName = "new_" + fileName;

                    // 构建新文件路径
                    Path newFilePath = directory.resolve(newFileName);

                    // 执行文件重命名
                    Files.move(file, newFilePath, StandardCopyOption.REPLACE_EXISTING);

                    System.out.println("Renamed: " + fileName + " to " + newFileName);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            });

            System.out.println("All files have been renamed.");

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上述代码中,我们首先指定了要重命名文件的目录路径。然后,我们使用NIO的Files.list()方法列出目录中的所有文件,并遍历这些文件。在遍历的过程中,可以根据需要修改新的文件名,然后使用Files.move()方法执行文件重命名操作。文件将被重命名为新的名称,然后输出重命名的结果。

2. 批量修改扩展名

package com.cjp.bio;
import java.io.File;

/**
 * @author 曹见朋
 * @create 2023-10-23-9:02
 */
public class BatchRenameFiles {
    public static void main(String[] args) {
        // 指定目录路径
        String directoryPath = "D:/NIO/";

        // 旧的文件扩展名
        String oldExtension = ".html";

        // 新的文件扩展名
        String newExtension = ".txt";

        // 获取目录下的所有文件
        File directory = new File(directoryPath);
        File[] files = directory.listFiles();

        if (files != null) {
            for (File file : files) {
                if (file.isFile() && file.getName().endsWith(oldExtension)) {
                    // 构建新文件名
                    String newName = file.getName().replace(oldExtension, newExtension);

                    // 创建新文件对象
                    File newFile = new File(directoryPath + newName);

                    // 重命名文件
                    if (file.renameTo(newFile)) {
                        System.out.println("Renamed " + file.getName() + " to " + newName);
                    } else {
                        System.err.println("Error renaming " + file.getName());
                    }
                }
            }
        } else {
            System.err.println("Directory not found.");
        }
    }
}

到此这篇关于Java实现本地文件批量重命名的示例代码的文章就介绍到这了,更多相关Java 本地文件批量重命名内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • SpringBoot @ModelAttribute使用场景分析

    SpringBoot @ModelAttribute使用场景分析

    这篇文章主要介绍了SpringBoot @ModelAttribute使用场景分析,文中通过实例代码图文相结合给大家介绍的非常详细,需要的朋友可以参考下
    2021-08-08
  • SpringBoot2底层注解@ConfigurationProperties配置绑定

    SpringBoot2底层注解@ConfigurationProperties配置绑定

    这篇文章主要介绍了SpringBoot2底层注解@ConfigurationProperties配置绑定,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Java深入浅出数组的定义与使用下篇

    Java深入浅出数组的定义与使用下篇

    数组是有序的元素序列,若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式
    2022-03-03
  • Java8中方便又实用的Map函数总结

    Java8中方便又实用的Map函数总结

    java8之后,常用的Map接口中添加了一些非常实用的函数,可以大大简化一些特定场景的代码编写,提升代码可读性,快跟随小编一起来看看吧
    2022-11-11
  • Springboot之自定义全局异常处理的实现

    Springboot之自定义全局异常处理的实现

    这篇文章主要介绍了Springboot之自定义全局异常处理的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • 详解如何解决SSM框架前台传参数到后台乱码的问题

    详解如何解决SSM框架前台传参数到后台乱码的问题

    这篇文章主要介绍了详解如何解决SSM框架前台传参数到后台乱码的问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Spark MLlib随机梯度下降法概述与实例

    Spark MLlib随机梯度下降法概述与实例

    这篇文章主要为大家详细介绍了Spark MLlib随机梯度下降法概述与实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • java 服务器接口快速开发之servlet详细教程

    java 服务器接口快速开发之servlet详细教程

    Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容
    2021-06-06
  • spring boot注解方式使用redis缓存操作示例

    spring boot注解方式使用redis缓存操作示例

    这篇文章主要介绍了spring boot注解方式使用redis缓存操作,结合实例形式分析了spring boot注解方式使用redis缓存相关的依赖库引入、注解使用及redis缓存相关操作技巧,需要的朋友可以参考下
    2019-11-11
  • Struts 2 实现Action的几种方式

    Struts 2 实现Action的几种方式

    本篇文章主要介绍了Struts 2 实现Action的几种方式,Struts 2框架下实现Action类有三种方式,有兴趣的可以了解一下
    2017-10-10

最新评论