文件操作示例

package com.puyuan.file;

import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.Date;

public class GetFileTest {

    public static void main(String[] args) {

        String directoryPath = "C:\\Users\\35735\\Desktop\\java";
        File[] subdirectories = subdirectories(directoryPath);
        for (int i = 0; i < subdirectories.length; i++) {
            File file = subdirectories[i];
            Date createTime = getCreateTime(file);
            delete(file,createTime);
        }

    }

    public static void delete(File file,Date createTime){
        DateTime todayBegin = DateUtil.beginOfDay(new Date());
        if (createTime.after(todayBegin)) {
            if (FileUtil.del(file)) {
                System.out.println("文件已删除: " + file.getAbsolutePath());
            } else {
                System.out.println("删除文件失败: " + file.getAbsolutePath());
            }
        } else {
            System.out.println("文件未被删除,因为它的创建日期不早于截止日期: " + file.getAbsolutePath());
        }

    }

    public static File[] subdirectories(String directoryPath){

        File directory = new File(directoryPath);

        File[] subdirectories = directory.listFiles(file -> file.isDirectory());
        for (File subdirectory : subdirectories) {
            System.out.println(subdirectory.getAbsolutePath());

        }
        return subdirectories;
    }

    public static Date getCreateTime(File file){
        Date creationDate = null;
        try {
            creationDate = Date.from(Files.readAttributes(Paths.get(file.getAbsolutePath()), BasicFileAttributes.class).creationTime().toInstant());
        } catch (IOException e) {
            e.printStackTrace();
        }
        return creationDate;
    }
}

你可能感兴趣的:(文件操作示例)