每次在操作File文件的时候都很头疼,这篇文章简单记录一下file文件的创建和删除操作
代码如下(示例):
public String testFile() throws IOException {
// 在项目目录下创建文件夹
String fileUrl = "./temp/";
Path path = Paths.get(fileUrl);
if (!new File(fileUrl).exists()) {
Files.createDirectory(path);
}
String dirPath = fileUrl + System.currentTimeMillis() + "_" + RandomStringUtils.randomAlphanumeric(8);
Long deleteTargetTime = System.currentTimeMillis() - 1000 * 10;
// 遍历出temp文件夹下的文件和文件夹
Files.newDirectoryStream(path).forEach(file -> {
String fileName = file.getFileName().toString();
String[] time = fileName.split("_");
// 删除10秒钟以前创建的的所有文件夹和下面文件
if (Long.parseLong(time[0]) < deleteTargetTime) {
deleteFile(file.toFile());
}
});
// 创建文件夹
Files.createDirectory(Paths.get(dirPath));
return dirPath;
}
private void deleteFile(File file) {
// 如果文件存在并且是个文件夹,删除下面所有文件
if (file.exists() && file.isDirectory()) {
File[] files = file.listFiles();
for (File f : files) {
f.delete();
}
}
file.delete();
}