import java.io.File;
import java.nio.file.Files;
import java.nio.file.LinkOption;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.BasicFileAttributeView;
import java.nio.file.attribute.BasicFileAttributes;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* 文件工具类
*/
public class FileTools {
public static void main(String[] args) {
// TODO Auto-generated method stub
String filePath = ".";
reNameFile(filePath);
}
/**
* @return 获取当天是周记
*/
private static String getWeekDay(Date date) {
Calendar now = Calendar.getInstance();
now.setTime(date);
boolean isFirstSunday = (now.getFirstDayOfWeek() == Calendar.SUNDAY);
int weekDay = now.get(Calendar.DAY_OF_WEEK);
if (isFirstSunday) {
weekDay = (weekDay - 1 == 0 ? 7 : weekDay);
}
String[] weekDays = {"周日", "周一", "周二", "周三", "周四", "周五", "周六"};
return weekDays[weekDay - 1];
}
/**
* 重命名文件夹下所有文件 只遍历第一层文件,不涉及文件夹 重命名效果: dsadas.bat => 20200902 周三 dsadas.bat
*
* @param dirPath 文件夹路径
*/
private static void reNameFile(String dirPath) {
File fileDir = new File(dirPath);
File[] files = fileDir.listFiles();
assert files != null;
for (File file : files) {
String namePrefix = getFilePrefix(file);
String fileName = file.getName();
/*排除jar文件*/
if (!fileName.startsWith(namePrefix) /*&& !file.isDirectory()*/ && !fileName
.endsWith(".jar")) {
String newPath = file.getPath().replace(fileName, namePrefix + fileName);
file.renameTo(new File(newPath));
}
}
}
/**
* @param file 文件
* @return 前缀格式
*/
private static String getFilePrefix(File file) {
//文件最后修改时间
Date modifiedTime = new Date(file.lastModified());
return new SimpleDateFormat("MMdd").format(modifiedTime) + "_";
}
/**
* @param filePath 文件全路径
* @return 获取文件创建日期
*/
private static Date getCreateTime(String filePath) {
Path path = Paths.get(filePath);
BasicFileAttributeView basicview = Files
.getFileAttributeView(path, BasicFileAttributeView.class, LinkOption.NOFOLLOW_LINKS);
BasicFileAttributes attr;
try {
attr = basicview.readAttributes();
return new Date(attr.creationTime().toMillis());
} catch (Exception e) {
e.printStackTrace();
}
Calendar cal = Calendar.getInstance();
cal.set(1970, 0, 1, 0, 0, 0);
return cal.getTime();
}
}
批量给当前文件夹下文件或文件名加创建日期前缀
idea打包流程
https://blog.csdn.net/xiaoerbuyu1233/article/details/102608339