Skip to content

guobosco/DataManeger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DiskCleaner (磁盘自动清理器)

简介

DiskCleaner 是一个基于 Java 和 JavaFX 开发的磁盘自动清理工具。它主要用于服务器或个人电脑的特定目录监控,自动删除过期文件以释放磁盘空间,防止因日志或临时文件堆积导致磁盘爆满。

主要功能

  • 自动清理: 根据文件的最后修改时间,自动删除超过设定天数的文件。
  • 递归扫描: 能够深入扫描指定目录下的所有子目录。
  • 空文件夹清理: 自动删除内容已被清空的失效文件夹。
  • 智能维护 (Agent Mode): 通过后台任务 (CleanTask) 旨在自动维持磁盘剩余空间在设定水平(如 35%),动态计算并调整清理的时间阈值。
  • 图形用户界面 (GUI): 提供基于 JavaFX 的可视化操作界面(部分功能开发中)。

项目结构

src/DCFX
├── main
│   ├── FileFolderCleaner.java  // 核心清理逻辑:执行文件扫描和删除
│   ├── CleanTask.java          // 后台任务:定时执行清理工作的线程
│   ├── TimeCellMaker.java      // 阈值计算:根据磁盘容量计算需要清理的天数
│   └── Main.java
├── model
│   └── Path.java               // 数据模型
├── view
│   ├── OperateField.fxml       // 主操作界面布局
│   ├── OperateFieldController.java // 界面控制器
│   └── RootLayout.fxml         // 根布局
└── MainApp.java                // 程序启动入口

环境要求

  • Java Development Kit (JDK) 1.8 或更高版本
  • 支持 JavaFX (JDK 11+ 可能需要单独引入 JavaFX 模块)

快速开始

1. 导入项目

将项目克隆到本地,并使用 Eclipse 或 IntelliJ IDEA 等 IDE 导入。

2. 配置清理任务

注意:目前的后台清理任务路径在代码中是硬编码的,使用前必须修改。

打开 src/DCFX/main/CleanTask.java,找到 run() 方法:

// 修改路径为你实际需要监控的文件夹路径
TimeCellMaker dayCellMaker = new TimeCellMaker("/你的/目标/路径", 0.35); // 0.35 代表保留 35% 的空间

// ...

FileFolderCleaner cleaner = new FileFolderCleaner("/你的/目标/路径", timecell);

3. 运行程序

  • 启动 GUI: 运行 src/DCFX/MainApp.java
  • 后台任务: CleanTask 设计为线程运行,需要确保在主程序中正确启动该线程。

核心类说明

FileFolderCleaner

核心工具类,包含两个主要属性:

  • filePath: 目标文件夹路径。
  • timeCell: 时间阈值(天)。
  • deleter(): 递归删除超过 timeCell 天未修改的文件。

CleanTask

后台守护线程:

  • 默认每 6 小时执行一次。
  • 根据磁盘使用率动态计算建议的清理时间阈值。

许可证

GPLv3

About

数据存储服务器的数据管理软件

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages