清除系统垃圾

本文介绍了一款用于清理Windows系统中各类临时、备份及回收站等位置垃圾文件的Java程序。该程序通过指定文件后缀名来定位并删除不必要的文件,帮助释放磁盘空间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package windows.clear;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

/**
 * 清理系统垃圾文件
 *
 *
 */
public class ClearSystem {
    private static int mount_s = 0;
    private static int mount_f = 0;

    public static void main(String[] args) {
        System.out.println("开始删除垃圾文件");
        List<String> fileEnd = new ArrayList<String>();
        fileEnd.add(".tmp");
        fileEnd.add("._mp");
        fileEnd.add(".log");
        fileEnd.add(".gid");
        fileEnd.add(".chk");
        fileEnd.add(".old");
        deleteFile(System.getenv("systemdrive"), fileEnd);
        deleteFile(System.getenv("systemdrive") + "/recycler/", null);// ntfs是recycler,fat是recycled
        fileEnd.clear();
        fileEnd.add(".bak");
        deleteFile(System.getenv("windir"), fileEnd);
        deleteFile(System.getenv("windir") + "/prefetch/", null);
        deleteFile(System.getenv("windir") + "/temp/", null);
        deleteFile(System.getProperty("user.home") + "/cookies/", null);
        deleteFile(System.getProperty("user.home") + "/recent/", null);
        deleteFile(System.getProperty("user.home")
                + "/Local Settings/Temporary Internet Files/", null);
        deleteFile(System.getProperty("user.home") + "/Local Settings/Temp/",
                null);
        System.out.println("清理完成。成功删除:" + mount_s + " 个文件和文件夹。失败:" + mount_f);
    }

    // 删除文件夹内指定文件
    private static void deleteFile(String fileDir, List<String> fileEnd) {
        File f = new File(fileDir);
        if (!f.exists()) {
            System.out.println(f.getAbsoluteFile() + "不存在!");
            return;
        }
        File[] allFiles = f.listFiles();
        for (File tmp : allFiles) {
            if (fileEnd != null) {
                for (String str : fileEnd) {
                    if (tmp.getName().endsWith(str)) {
                        deleteFileAndLog(tmp);
                    }
                }
            } else {
                deleteAll(tmp.getAbsolutePath());
            }
        }
    }

    // 删除指定目录下的所有文件和文件夹
    private static void deleteAll(String dir) {
        File f = new File(dir);
        if (!f.exists())
            return;
        else {
            if (f.isFile()) {
                deleteFileAndLog(f);
            } else if (f.isDirectory()) {
                for (File tmp : f.listFiles()) {
                    deleteAll(tmp.getAbsolutePath());
                }
                deleteFileAndLog(f);
            }
        }
    }

    // 删除文件并记录日志
    private static void deleteFileAndLog(File f) {
        try {
            f.delete();
            mount_s++;
            System.out.println("删除文件夹:" + f.getAbsolutePath() + " 成功。");
        } catch (Exception e) {
            mount_f++;
            System.out.println("删除文件夹:" + f.getAbsolutePath() + " 失败。原因:" + e);
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值