如何在指定目录创建带当前日期时间的文件或文件夹 低版本Java如何实现
Java 8 以前版本实现带日期时间的文件创建及时间判断方案
Java 8 以下没有java.time包,统一使用java.util下的SimpleDateFormat、Date、Calendar类完成时间处理。
1. 指定目录下创建名称包含当前日期时间的文件/文件夹
代码示例:
import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; public class DateFileCreator { // 时间格式和原有Java8版本保持一致:年月日 时分秒 private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyyMMdd HHmmss"); // 可自行修改为目标目录路径 private static final String TARGET_DIR = "/your/target/directory/path"; public static void main(String[] args) throws IOException { // 生成当前时间字符串 String currentTimeStr = DATE_FORMAT.format(new Date()); // 拼接完整路径,若创建文件夹可自定义后缀规则 String fullPath = TARGET_DIR + File.separator + "file_" + currentTimeStr + ".txt"; File target = new File(fullPath); // 创建文件:调用target.createNewFile();创建文件夹:调用target.mkdirs() boolean createSuccess = target.createNewFile(); if (createSuccess) { System.out.println("创建成功,路径:" + fullPath); } } }
注意:
SimpleDateFormat是线程不安全的,多线程场景下建议每次使用时单独创建实例,不要复用全局静态变量。
2. 兼容旧版本的文件名时间解析、近3天判断逻辑
对应原有Java8代码的判断逻辑,旧版本实现如下:
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DateFileChecker { private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyyMMdd HHmmss"); // 和原有代码保持一致,指定时区为东京时区,不需要可删除本段配置 static { DATE_FORMAT.setTimeZone(java.util.TimeZone.getTimeZone("Asia/Tokyo")); } public static void main(String[] args) throws ParseException { // fileName为从文件名称中提取的时间字符串 String fileName = "20240520 143022"; // 解析文件名称对应时间 Date fileDate = DATE_FORMAT.parse(fileName); // 计算3天前的时间节点 Calendar calendar = Calendar.getInstance(DATE_FORMAT.getTimeZone()); calendar.add(Calendar.DAY_OF_MONTH, -3); Date threeDaysAgo = calendar.getTime(); // 判断是否为近3天内的文件 if (fileDate.after(threeDaysAgo)) { // 执行自定义逻辑 System.out.println("该文件为近3天内创建"); } } }
补充说明
- 时间格式中的
yyyy代表公元纪年,和Java 8中uuuu的作用基本一致,低版本SimpleDateFormat不支持uuuu写法,统一替换为yyyy即可。 - 无特殊时区需求时可删除设置时区的代码,默认会使用系统当前时区。
内容的提问来源于stack exchange,提问作者Persi
相关产品推荐
相关产品推荐

