电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

java代碼實現C盤文件統計工具

瀏覽:2日期:2022-08-09 09:57:14
概述

java代碼實現C盤文件統計工具

工作電腦用了3年多了,100G的C盤也快吃不消了,每次打開看到C盤紅了,總要用清理工具清理一下子.

不知道怎么最近清理工具清理了也沒有什么效果,把temp下面的文件刪除,沒什么大作用.

總是有一種沖動要去處理掉,已經影響工作了.乘著星期天寫個工具,分析一下C盤的文件,看看那些是最近才增加的,能不能手動刪除掉.

版本介紹 Maven-3.3.9 JDK1.8 目錄結構

com └─sedaier └─calcdir ├─service │ │ IDirSizeCalc.java │ │ │ └─impl │ DirSizeCalcByForkJoinPoolImpl.java │ ├─test │ Test.java │ └─tool OutputFileUtils.java //日志輸出工具類源碼

DirSizeCalcByForkJoinPoolImpl.java

package com.sedaier.calcdir.service.impl;import java.io.File;import java.util.ArrayList;import java.util.List;import java.util.concurrent.ForkJoinPool;import java.util.concurrent.ForkJoinTask;import java.util.concurrent.RecursiveTask;import com.sedaier.calcdir.service.IDirSizeCalc;import com.sedaier.calcdir.tool.OutputFileUtils;public class DirSizeCalcByForkJoinPoolImpl implements IDirSizeCalc {@Overridepublic long getSize(final File file, final File log) {ForkJoinPool forkJoinPool = new ForkJoinPool();return forkJoinPool.invoke(new FileSizeFinder(file, log));}@SuppressWarnings('serial')private static class FileSizeFinder extends RecursiveTask<Long> {final File file;final File log;FileSizeFinder(final File theFile, final File theLog) {file = theFile;log = theLog;}@Overridepublic Long compute() {long size = 0;if (file.isFile()) {size = file.length();OutputFileUtils.write(log, file);} else {final File[] children = file.listFiles();if (children != null) {List<ForkJoinTask<Long>> tasks = new ArrayList<ForkJoinTask<Long>>();for (final File child : children) {if (child.isFile()) {size += child.length();OutputFileUtils.write(log, child);} else {tasks.add(new FileSizeFinder(child, log));}}for (final ForkJoinTask<Long> task : invokeAll(tasks)) {size += task.join();}}}return size;}}}

IDirSizeCalc.java

package com.sedaier.calcdir.service;import java.io.File;public interface IDirSizeCalc {long getSize(final File file, final File log);}

Test.java

package com.sedaier.calcdir.test;import java.io.File;import com.sedaier.calcdir.service.IDirSizeCalc;import com.sedaier.calcdir.service.impl.DirSizeCalcByForkJoinPoolImpl;import com.sedaier.calcdir.tool.OutputFileUtils;public class Test {public static void main(final String[] args) {String dirPath = 'C:Windows';String log = 'C:UsersAdministratorDesktoplog.log';File file = new File(dirPath);File logFile = new File(log);calcDirSize(file, logFile, new DirSizeCalcByForkJoinPoolImpl());OutputFileUtils.distory();}private static void calcDirSize(File file, File log, IDirSizeCalc dirSizeCalc) {dirSizeCalc.getSize(file, log);}}

OutputFileUtils.java

package com.sedaier.calcdir.tool;import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.util.Calendar;public class OutputFileUtils {public static int time = 0;//buffer刷信息時間public static int overtime = 100;//避免重復初始化public static boolean flag = false;public static FileWriter out = null;public static BufferedWriter bw = null;//昨天public static long day;//用于計算日期 -1 當前日期往前一天,-2 當前日期往前兩天public static int amount = -1;static {//初始化日期Calendar instance = Calendar.getInstance();instance.add(Calendar.DAY_OF_MONTH, amount);day = instance.getTimeInMillis();}public static void write(final File log, File file) {try {if (!flag && !log.exists()) {log.createNewFile();flag = true;}if(out == null || bw == null) {out = new FileWriter (log);bw = new BufferedWriter(out);}long lastModified = file.lastModified();if(lastModified > day) {bw.write(String.format('%s===大小=%d===時間=%tF',file.getAbsolutePath(),file.length()/1000000,lastModified));bw.newLine();}time++;if(time > overtime) {bw.flush();time = 0 ;}} catch (IOException e) {e.printStackTrace();}}public static void distory() {try {bw.close();out.close();System.out.println('關閉成功!');} catch (IOException e) {e.printStackTrace();}}}

源碼下載地址

https://gitee.com/lanseyouyu/sediaer-calcdir.git

到此這篇關于java代碼實現C盤文件統計工具的文章就介紹到這了,更多相關java c盤文件統計工具內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: Magnescale探规,Magnescale磁栅尺,Magnescale传感器,Magnescale测厚仪,Mitutoyo光栅尺,笔式位移传感器-苏州连达精密量仪有限公司 | 安徽控制器-合肥船用空调控制器-合肥家电控制器-合肥迅驰电子厂 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 智能气瓶柜(大型气瓶储存柜)百科| 仿清水混凝土_清水混凝土装修_施工_修饰_保护剂_修补_清水混凝土修复-德州忠岭建筑装饰工程 | 昆明挖掘机修理厂_挖掘机翻新再制造-昆明聚力工程机械维修有限公司 | 游泳池设计|设备|配件|药品|吸污机-东莞市太平洋康体设施有限公司 | 北京网站建设|北京网站开发|北京网站设计|高端做网站公司 | 电梯乘运质量测试仪_电梯安全评估测试仪-武汉懿之刻 | MES系统-WMS系统-MES定制开发-制造执行MES解决方案-罗浮云计算 | 生产加气砖设备厂家很多,杜甫机械加气砖设备价格公道 | 穿线管|波纹穿线管|包塑金属软管|蛇皮管?闵彬专注弱电工程? | 防火门|抗爆门|超大门|医疗门|隔声门-上海加汇门业生产厂家 | 智能家居全屋智能系统多少钱一套-小米全套价格、装修方案 | 大学食堂装修设计_公司餐厅效果图_工厂食堂改造_迈普装饰 | 色谱柱-淋洗液罐-巴罗克试剂槽-巴氏吸管-5ml样品瓶-SBS液氮冻存管-上海希言科学仪器有限公司 | 通信天线厂家_室分八木天线_对数周期天线_天线加工厂_林创天线源头厂家 | 外贸网站建设-外贸网站设计制作开发公司-外贸独立站建设【企术】 | nalgene洗瓶,nalgene量筒,nalgene窄口瓶,nalgene放水口大瓶,浙江省nalgene代理-杭州雷琪实验器材有限公司 | 快速卷帘门_硬质快速卷帘门-西朗门业 | 数控走心机-走心机价格-双主轴走心机-宝宇百科 | 新车测评网_网罗汽车评测资讯_汽车评测门户报道 | 小港信息港-鹤壁信息港 鹤壁老百姓便民生活信息网站 | 防勒索软件_数据防泄密_Trellix(原McAfee)核心代理商_Trellix(原Fireeye)售后-广州文智信息科技有限公司 | 气力输送设备_料封泵_仓泵_散装机_气化板_压力释放阀-河南锐驰机械设备有限公司 | PO膜_灌浆膜及地膜供应厂家 - 青州市鲁谊塑料厂 | 震动筛选机|震动分筛机|筛粉机|振筛机|振荡筛-振动筛分设备专业生产厂家高服机械 | 东莞工厂厂房装修_无尘车间施工_钢结构工程安装-广东集景建筑装饰设计工程有限公司 | 深圳市八百通智能技术有限公司官方网站 | 氧化铝球_高铝球_氧化铝研磨球-淄博誉洁陶瓷新材料有限公司 | 不锈钢螺丝 - 六角螺丝厂家 - 不锈钢紧固件 - 万千紧固件--紧固件一站式采购 | 广州番禺搬家公司_天河黄埔搬家公司_企业工厂搬迁_日式搬家_广州搬家公司_厚道搬迁搬家公司 | 杭州月嫂技术培训服务公司-催乳师培训中心报名费用-产后康复师培训机构-杭州优贝姆健康管理有限公司 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 扬子叉车厂家_升降平台_电动搬运车|堆高车-扬子仓储叉车官网 | 软装设计-提供软装装饰和软装配饰及软装陈设的软装设计公司 | 安徽合肥项目申报咨询公司_安徽合肥高新企业项目申报_安徽省科技项目申报代理 | 无锡不干胶标签,卷筒标签,无锡瑞彩包装材料有限公司 | 超细|超微气流粉碎机|气流磨|气流分级机|粉体改性机|磨粉机|粉碎设备-山东埃尔派粉体科技 | 档案密集架_电动密集架_移动密集架_辽宁档案密集架-盛隆柜业厂家现货批发销售价格公道 | 超声波清洗机_大型超声波清洗机_工业超声波清洗设备-洁盟清洗设备 |