使用idea在已有的类上添加作者注释和开发时间

import java.io.*;
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
import java.util.Random;

public class AuthorInsert {
    private static final String AUTHOR = "aa";

    public static void main(String[] args) {
        // 指定要遍历的目录
        File dir = new File("src"); // 假设你的源文件在 src 目录中
        addAuthorToFiles(dir);
    }

    private static void addAuthorToFiles(File dir) {
        // 检查是否是文件夹
        if (dir.isDirectory()) {
            File[] files = dir.listFiles();
            // 遍历文件
            if (files != null) {
                for (File file : files) {
                    if (file.isDirectory()) {
                        addAuthorToFiles(file); // 递归遍历子目录
                    } else if (file.getName().endsWith(".java")) {
                        addAuthorToFile(file); // 处理 Java 文件
                    }
                }
            }
        }
    }

    private static void addAuthorToFile(File file) {
        try {
            // 读取文件内容
            BufferedReader reader = new BufferedReader(new FileReader(file));
            StringBuilder content = new StringBuilder();
            String line;

            // 构建新内容
            content.append("/**\n");
            content.append(" * Author: ").append(AUTHOR).append("\n");
            // 定义起始和结束日期
            LocalDate startDate = LocalDate.of(2025, 6, 22);
            LocalDate endDate = LocalDate.of(2025, 6, 30);

            // 计算日期之间的天数差
            long daysBetween = ChronoUnit.DAYS.between(startDate, endDate);

            // 生成随机天数并添加到起始日期
            LocalDate randomDate = startDate.plusDays(new Random().nextInt((int) daysBetween + 1));
            content.append(" * Date: ").append(randomDate).append("\n");
            content.append(" */\n");

            // 追加旧文件内容
            while ((line = reader.readLine()) != null) {
                content.append(line).append("\n");
            }
            reader.close();

            // 写入新内容
            BufferedWriter writer = new BufferedWriter(new FileWriter(file));
            writer.write(content.toString());
            writer.close();
        } catch (IOException e) {
            e.printStackTrace(); // 打印异常信息
        }
    }
}
Logo

一站式 AI 云服务平台

更多推荐