Java 给图片重命名实现教程

引言

在开发过程中,有时候需要对图片进行重命名的操作。本文将详细介绍如何使用Java实现给图片重命名的功能,并逐步指导刚入行的小白完成该任务。以下是本文的大致流程和步骤。

流程概览

步骤 操作
1 选择要重命名的图片目录
2 遍历目录下的所有图片文件
3 获取图片文件的完整路径和文件名
4 生成新的文件名
5 重命名图片文件

详细步骤及代码解释

步骤1:选择要重命名的图片目录

首先,我们需要选择一个要进行重命名操作的图片目录。可以使用以下代码选择目录:

import java.io.File;
import javax.swing.JFileChooser;

public class ImageRename {
    public static void main(String[] args) {
        JFileChooser fileChooser = new JFileChooser();
        fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        int result = fileChooser.showOpenDialog(null);
        if (result == JFileChooser.APPROVE_OPTION) {
            File selectedDirectory = fileChooser.getSelectedFile();
            System.out.println("选择的目录:" + selectedDirectory.getAbsolutePath());
        }
    }
}

以上代码使用了Swing提供的JFileChooser对话框,使用户能够选择目录。选择的目录将被打印出来,以便我们知道选择了哪个目录。

步骤2:遍历目录下的所有图片文件

在获取到用户选择的目录后,我们需要遍历该目录下的所有图片文件。可以使用以下代码实现:

import java.io.File;

public class ImageRename {
    public static void main(String[] args) {
        // ...

        File directory = new File(selectedDirectory.getAbsolutePath());
        File[] imageFiles = directory.listFiles((dir, name) -> name.toLowerCase().endsWith(".jpg")
                || name.toLowerCase().endsWith(".jpeg")
                || name.toLowerCase().endsWith(".png")
                || name.toLowerCase().endsWith(".gif")
                || name.toLowerCase().endsWith(".bmp"));

        for (File file : imageFiles) {
            System.out.println("图片文件:" + file.getName());
        }
    }
}

以上代码使用了File类的listFiles方法和Lambda表达式来过滤出目录下的所有图片文件,并将文件名打印出来。

步骤3:获取图片文件的完整路径和文件名

我们需要获取每个图片文件的完整路径和文件名,以便后续重命名操作。可以使用以下代码:

import java.io.File;

public class ImageRename {
    public static void main(String[] args) {
        // ...

        for (File file : imageFiles) {
            String filePath = file.getAbsolutePath();
            String fileName = file.getName();
            System.out.println("图片文件路径:" + filePath);
            System.out.println("图片文件名:" + fileName);
        }
    }
}

以上代码使用了File类的getAbsolutePath和getName方法来获取图片文件的完整路径和文件名,并将其打印出来。

步骤4:生成新的文件名

接下来,我们需要生成每个图片文件的新文件名。可以使用以下代码生成新文件名:

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;

public class ImageRename {
    public static void main(String[] args) {
        // ...

        for (File file : imageFiles) {
            String originalFileName = file.getName();
            String extension = originalFileName.substring(originalFileName.lastIndexOf("."));
            String newFileName = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()) + extension;
            System.out.println("图片新文件名:" + newFileName);
        }
    }
}

以上代码使用了SimpleDateFormat类和Date类来生成一个基于当前时间的字符串,用作新的文件名。同时保留了原始文件的扩展名。

步骤5:重命名图片文件

最后,我们需要使用生成的新文件名来重命名每个图片文件。可以使用以下代码实现重命名操作:

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;

public class ImageRename {
    public static void main(String[] args) {
        // ...

        for (File file : imageFiles) {
            String originalFileName = file.getName();
            String extension = originalFileName.substring(originalFileName.lastIndexOf("."));
            String newFileName = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()) + extension;